Office アドイン

[Office用アプリ]作業ウィンドウアプリからシームレスに「スペースアルク」を利用する。

※ この情報は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 () {
                    Office.context.document.addHandlerAsync(Office.EventType.DocumentSelectionChanged, document_SelectionChange);
                });
            }
            function document_SelectionChange(eventArgs) {
                if ($("#action").attr("checked")) {
                    eventArgs.document.getSelectedDataAsync(Office.CoercionType.Text, function(asyncResult) {
                        if (asyncResult.status != Office.AsyncResultStatus.Failed) {
                            var s = asyncResult.value;
                            if (s) {$("#ifr").attr("src", "http://eow.alc.co.jp/search?q=" + encodeURIComponent(s));}
                        }
                    });
                }
            }
        </script>
        <style>
            html,body {
                margin:0;
                padding:0;
                overflow:hidden;
                height:100%;
                font-family:Arial,sans-serif;
                font-size:0.9em;
            }
            iframe {
                /* width:100%; */
                width:600px;
                height:100%;
                border:none;
            }
        </style>
    </head>
    <body>
        <input id="action" type="checkbox" title="チェックされている場合のみ検索が行われます。">動作
        <iframe id="ifr" src=""></iframe>
    </body>
</html>

上記コードを設定したアプリを挿入すると、

・選択範囲を変更した際にSelectionChangedイベントが発生。
・getSelectedDataAsyncメソッドによってOfficeドキュメント上の選択文字列を取得。
・取得した文字列を元にiframe上でスペースアルク検索。

といった動作が行えるようになります。
(ただし、選択範囲が変更される度に検索が行われるのは負荷が高いため、「動作」チェックボックスにチェックが入っている場合のみ検索を行うようにしています。)

上記のように、JavaScript API for Officeを利用すると、OfficeドキュメントとWebページの連携がシームレスに行えるようになり、Officeドキュメントの文字列をコピー → インターネットブラウザーを立ち上げ検索ページを開く → コピーした文字列を貼り付けて検索実施、といった面倒な手順を踏む必要がなくなります。

上記コードでは記事のタイトル通り「スペースアルク」との連携を行っていますが、iframeで埋め込むURLを変更すれば、もちろんスペースアルク以外のWebページとも連携することができます。

ロジック自体は非常に簡単なものですので、興味がある方は一度試してみてはいかがでしょうか?

関連記事

  1. Office関連

    テキストボックス等Shapeオブジェクトのテキストのみを置換するWordマクロ

    Word MVPの新田さんのブログで気になる記事がありました。…

  2. Office関連

    Office 2013 オンラインヘルプのリンクを集めてみました。

    新機能を把握するためにはヘルプを見るのが一番早い、というわけでOffi…

  3. Office関連

    カウントダウンタイマーを作成するPowerPointマクロ

    大分前に書いた記事について問い合わせがありましたので、マクロを作成しな…

  4. Office関連

    アクティブなページ上のシェイプを一括でグループ化するWordマクロ

    Msdn フォーラムにあった質問「複数図形のグループ化」の回答用に書い…

  5. Office関連

    各ページを画像に変換するWordマクロ

    Excel MVPの伊藤さんがブログで、WordのPageオブジェクト…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP