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 Scripts

    [Office Scripts]押さえておきたい基本的なポイント

    Office Scriptsでコードを書くにあたり、ハマりそうなポイン…

  2. Office関連

    「いちばんやさしいExcel VBAの教本」レビュー

    VBAの学習者であれば一度は見たことがあるであろう、超有名老舗サイト「…

  3. Excel

    Google Charts APIを使ってQRコードの画像を取得するVBAマクロ

    @ITの記事に「Tech TIPS:Google Chart APIを…

  4. Office関連

    64ビット環境かどうかを判別するVBAマクロ

    2年以上前にMicrosoft Community(当時はMicros…

  5. Office関連

    関数一覧(Excel 2010)

    関数の挿入ダイアログから抽出したExcel 2010の関数情報をリスト…

  6. Office関連

    Adobe Readerを利用してPDFファイルのページ数を取得するVBAマクロ

    mougの回答用に書いたコードです。mougは半年でログが消えてし…

コメント

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP