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関連

    PowerShellからClosedXMLを使ってExcelファイルを作成する方法

    以前C#からClosedXMLを使ってExcelファイルを操作する方法…

  2. Office関連

    PowerPoint 2013でYouTubeの動画を挿入する。

    2014/5/23 追記:いつの間にか「ビデオの挿入ダイアログ」が…

  3. Office関連

    [Win32 API]PowerPointマクロにショートカットキーを割り当てる。

    数日前、“PowerPointだとマクロにショートカットキーを割り当て…

  4. Office関連

    SendKeysでWindowsキーを送信するVBAマクロ

    「VBA SendKeys Windowsキー」といったキーワード検索…

  5. Office関連

    クイックアクセスツールバーから履歴を表示するWordテンプレート

    Word MVPの新田さんのブログで「【Word 2013】クイックア…

  6. Excel

    Gmail APIを使ってメール送信するVBAマクロ(3)

    前回、前々回とGmail APIを扱ってきましたが、今回は前々回の記事…

コメント

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

Time limit is exhausted. Please reload CAPTCHA.

Translate

最近の記事

アーカイブ

PAGE TOP