※ この情報は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



















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