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ページとも連携することができます。

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

[Office用アプリ]RSS表示アプリを作成する。前のページ

Word 2013では右クリックからBing検索できるようになりました。次のページ

関連記事

  1. Office アドイン

    Ignite 2016で発表されたOffice アドイン関連の情報

    米国時間の9月26~30日にMicrosoftのビッグイベント「Ign…

  2. Office関連

    Google Calendar APIを使って日本の祝日を取得するVBAマクロ

    祝日の一覧を用意する必要があったので、Google Calendar …

  3. Office関連

    VBAでブラウザーを操作するSeleniumWrapperVBAの紹介

    Internet Explorerのサポートが終わり、VBAマクロから…

  4. Office関連

    Custom UI Editorの最新版がGitHubで公開されました。

    下記記事等で紹介している、リボンUIをカスタマイズするためのツール「C…

  5. Office関連

    続・Microsoft Edgeを操作するVBAマクロ(DOM編)

    以前VBAからMicrosoft Edgeを操作するマクロについて記事…

  6. Office アドイン

    Office 2016で進化したOffice アドイン

    今日OfficeDevを眺めていて気が付いたのが「OfficeJS S…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP