Office アドイン

[Office用アプリ]プロンプトや選択範囲からバインドを追加する。

[Office用アプリ]任意の場所にデータを入力する。」で、Bindings.addFromNamedItemAsyncメソッドを使って名前付き項目からバインドを追加、データの入力を行う方法を紹介しましたが、今回はプロンプトや選択範囲からバインドを追加する方法を紹介します。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <meta name="robots" content="noindex,nofollow">
        <meta http-equiv="X-UA-Compatible" content="IE=Edge">
        <title>動作確認用Office用アプリ</title>
        <script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-1.9.1.min.js"></script>
        <script src="https://appsforoffice.microsoft.com/lib/1.0/hosted/office.js"></script>
        <script>
            Office.initialize = function(reason){}
            $(function(){
                //プロンプトからバインドを追加(Excelのみ)
                $("#btnAddFromPrompt").click(function(){
                    if(Office.context.document.bindings.addFromPromptAsync){
                        Office.context.document.bindings.addFromPromptAsync(Office.BindingType.Text, {id: "bdgPrompt", promptText: "セルを選択してください。"}, function(asyncResult){
                            if(asyncResult.status == Office.AsyncResultStatus.Failed){
                                $("#msg").text("Err:" + asyncResult.error.message);
                            }else{
                                $("#msg").text("Type:" + asyncResult.value.type + ", ID:" + asyncResult.value.id);
                                Office.select("bindings#bdgPrompt").getDataAsync({coercionType: Office.CoercionType.Text, valueFormat: Office.ValueFormat.Formatted}, function(asyncResult){
                                    if (asyncResult.status == Office.AsyncResultStatus.Failed) {
                                        $("#msg").text("Err:" + asyncResult.error.message);
                                    }else{
                                        $("#result").text("Value:" + asyncResult.value);
                                    }
                                });
                            }
                        });
                    }else{
                        $("#msg").text("Bindings.addFromPromptAsyncメソッドはExcelのみサポートしています。");
                    }
                });
                
                //選択範囲からバインドを追加
                $("#btnAddFromSelection").click(function(){
                    Office.context.document.bindings.addFromSelectionAsync(Office.BindingType.Text, {id: "bdgSelection"}, function(asyncResult){
                        if(asyncResult.status == Office.AsyncResultStatus.Failed){
                            $("#msg").text("Err:" + asyncResult.error.message);
                        }else{
                            $("#msg").text("Type:" + asyncResult.value.type + ", ID:" + asyncResult.value.id);
                            Office.select("bindings#bdgSelection").getDataAsync({coercionType: Office.CoercionType.Text, valueFormat: Office.ValueFormat.Formatted}, function(asyncResult){
                                if (asyncResult.status == Office.AsyncResultStatus.Failed) {
                                    $("#msg").text("Err:" + asyncResult.error.message);
                                }else{
                                    $("#result").text("Value:" + asyncResult.value);
                                }
                            });
                        }
                    });
                });
                
            });
        </script>
    </head>
    <body>
        <input id="btnAddFromPrompt" type="button" value="プロンプトからバインド追加"><br>
        <input id="btnAddFromSelection" type="button" value="選択範囲からバインド追加"><br><br>
        <span id="result"></span><br><br>
        <textarea id="msg" rows="4" cols="30"></textarea>
    </body>
</html>

上記コードの通りBindings.addFromPromptAsyncメソッド(Excelのみ)でプロンプトから、Bindings.addFromSelectionAsyncメソッドで選択範囲からバインドを追加することができます。
以前紹介したBindings.addFromNamedItemAsyncメソッドと合わせて、バインドを追加したいときは必要に応じて使い分けるのが良いでしょう。

・ドキュメントまたはスプレッドシート内の領域へのバインド
http://msdn.microsoft.com/ja-jp/library/fp123511.aspx
・Bindings.addFromNamedItemAsync メソッド (Office 用アプリ)
http://msdn.microsoft.com/ja-jp/library/fp123590.aspx
・Bindings.addFromPromptAsync メソッド (Office 用アプリ)
http://msdn.microsoft.com/ja-jp/library/fp142150.aspx
・Bindings.addFromSelectionAsync メソッド (Office 用アプリ)
http://msdn.microsoft.com/ja-jp/library/fp142282.aspx
・Binding.getDataAsync メソッド (Office 用アプリ)
http://msdn.microsoft.com/ja-jp/library/fp161073.aspx
・Binding.setDataAsync メソッド (Office 用アプリ)
http://msdn.microsoft.com/ja-jp/library/fp161120.aspx

関連記事

  1. Office関連

    未読メッセージ数を取得するOutlookマクロ

    Outlook 2007で追加されたFolderオブジェクトのUnRe…

  2. Office関連

    マクロで実行したいコマンドのIDを調べる簡単な方法

    MSDN フォーラムに下記質問がありました。・Excel-VB…

  3. Office関連

    KB2553154の更新プログラムをアンインストールするVBScript

    2014/12/11 追記:当記事で紹介しているのは更新プログラム…

  4. Office関連

    PHPWordを使ってPHPからWordファイルを出力してみる。

    最近オトカドールやルミティアジュエルやらの記事ばかり書いていますが、今…

コメント

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

  1. この記事へのトラックバックはありません。

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP