※ この情報はOffice 2013 カスタマー プレビュー版を元にしています。製品版では変更になる可能性がありますのでご注意ください。
今回はJavaScript API for Officeで用意されている選択範囲変更時のイベントを紹介します。
アプリの設定や登録方法についてはここでは説明しませんので、JavaScriptでExcel 2013用作業ウィンドウのアプリを作成する。(2)やJavaScriptでExcel 2013用作業ウィンドウのアプリを作成する。(3)をご参照ください。
・html
<!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 () { $("#btnClear").click(function() {$("#message").html("");}); Office.context.document.addHandlerAsync(Office.EventType.DocumentSelectionChanged, MyHandler); }); } function MyHandler(eventArgs) { write("Event raised: " + eventArgs.type); eventArgs.document.setSelectedDataAsync("Hello."); } function write(message) { $("#message").html($("#message").html() + message + "<br>"); } </script> </head> <body> <input id="btnClear" type="button" value="Message Clear"> <div id="message"></div> </body> </html>
上記コードを設定したアプリを挿入すると、ドキュメント読み込み時にaddHandlerAsyncメソッドによってDocumentオブジェクトのSelectionChangedイベントと指定した関数が結び付けられ、選択範囲変更時に任意の関数(上記コードでは MyHandler)が呼ばれるようになります。
使い方次第では便利なイベントだと思います。
・Document.addHandlerAsync method (apps for Office)
http://msdn.microsoft.com/en-us/library/fp161169%28v=office.15%29.aspx
・Document.SelectionChanged event (apps for Office)
http://msdn.microsoft.com/en-us/library/fp161062%28v=office.15%29
この記事へのコメントはありません。