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関連

    Visual Studio Community 2015でOffice開発する。

    「Microsoft、統合開発環境「Visual Studio 201…

  2. Office関連

    [VBA]自動的にフォントサイズを調整する疑似テキストボックス

    前回と同様、環境依存つながりでmougの給湯室に書いたコードを載せてお…

  3. Office関連

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

    一年半ほど前、「PHPWord」を使ってPHPからWordファイルを出…

  4. Office Scripts

    Office Scripts機能によってWeb版Officeの操作を自動化する

    前回、Ignite 2019で発表されたPower Automate(…

  5. Office関連

    [Office 2013]サインインを無効にする。

    2013/4/10 追記:「オンライン画像」や「Office 用ア…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP