Office アドイン

[Office用アプリ]任意の場所にデータを入力する。

※ この情報はOffice 2013 カスタマー プレビュー版を元にしています。製品版では変更になる可能性がありますのでご注意ください。

今回はドキュメントの任意の場所にデータを入力する方法を紹介します。
事前準備として、Excelを開きSheet1の「$C$2:$E$4」の範囲を「rngSample」として名前定義しておきます。

そしてアプリのコードが下記になります。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=Edge">
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
        <script src="https://az88874.vo.msecnd.net/api/1.0/office.js"></script>
        <script>
            Office.initialize = function (reason) {
                $(document).ready(function () {
                    Office.context.document.bindings.addFromNamedItemAsync("Sheet1!rngSample", "matrix", {id:"myRange"}, function (result) {
                        if (result.status == "succeeded"){
                            write("バインドを追加しました。:" + result.value.id + " , Type:" + result.value.type);
                        } else {
                            write("エラーが発生しました。:" + result.error.message);
                        }
                    });
                });
            }
            $(function(){
                $("#myButton").click(
                    function() {
                        var ary = [
                            [1, 2, 3],
                            [4, 5, 6],
                            [7, 8, 9]
                        ];
                        Office.select("bindings#myRange").setDataAsync(ary, {coercionType:"matrix"}, function (result) {
                            if (result.status == "failed") {
                                write("エラーが発生しました。:" + result.error.message);
                            }
                        });
                    }
                );
            });
            function write(s) {
                $("#result").val(s);
            }
        </script>
    </head>
    <body>
        <input id="myButton" type="button" value="OK"><br>
        <textarea id="result" cols="35" rows="5"></textarea>
    </body>
</html>

上記コードを設定したアプリを挿入後「OK」ボタンをクリックすると、事前に定義しておいた「rngSample」の範囲にコード中の配列「ary」で指定したデータが入力されることが確認できます。

上記のようにBindingsオブジェクトのaddFromNamedItemAsyncメソッドや、addFromPromptAsyncメソッド、addFromSelectionAsyncメソッドでバインドを追加しておけば、BindingオブジェクトのsetDataAsyncメソッドでデータを入力することができます。

このあたりの動作は若干分かりづらいので、実際にコードを動かしてみると良いでしょう。

・Bindings.addFromNamedItemAsync method (apps for Office)
http://msdn.microsoft.com/en-us/library/fp123590%28v=office.15%29
・Bindings.addFromPromptAsync method (apps for Office)
http://msdn.microsoft.com/en-us/library/fp142150%28v=office.15%29
・Bindings.addFromSelectionAsync method (apps for Office)
http://msdn.microsoft.com/en-us/library/fp142282%28v=office.15%29
・Binding.setDataAsync method (apps for Office)
http://msdn.microsoft.com/en-us/library/fp161120%28v=office.15%29

Office 2013 カスタマープレビュー版の「Spy Utility」前のページ

[Office用アプリ]Microsoft Translator APIを利用して選択文字列を翻訳する。次のページ

関連記事

  1. Office アドイン

    [Office用アプリ]第一回 Apps for Office 勉強会で登壇しました。

    19日(金)に第一回 Apps for Office 勉強会が東京で開…

  2. Office関連

    Google翻訳で文字列を翻訳するマクロ

    ※ 2016/2 時点では下記の方法はもう使用できなくなっています。V…

  3. Office関連

    マクロでリボンを最小化する。

    mougの回答用に書いたコードです。忘れないうちにメモ。・…

  4. Excel

    既存の機能の代わりにマクロを実行する方法をまとめてみました。

    「既存の機能の代わりにマクロを実行する」の関連になりますが、Offic…

  5. Office関連

    Microsoft Graph ExplorerがMicrosoft アカウント(MSA)に対応しま…

    Azure AD v2.0 エンドポイントによって、個人用Micros…

コメント

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP