Office アドイン

[Office用アプリ]ユーザー設定を保存する。

※ この情報はOffice 2013 カスタマー プレビュー版を元にしています。製品版では変更になる可能性がありますのでご注意ください。

Office用アプリではユーザー設定(何らかのプロパティや設定情報等)を保存することができます(Wordの文書変数のようなもの)。
今回はその利用方法を簡単に紹介します。

<!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>
            var n;
            var v;
            Office.initialize = function (reason) {
                $(document).ready(function () {
                    n = "userName";
                    v = "マイクロ舞子";
                });
            }
            $(function(){
                $("#btnSet").click(
                    function() {
                        Office.context.document.settings.set(n, v);
                        write("ユーザー設定(" + n + ")をセットしました。:" + v);
                    }
                );
                $("#btnGet").click(
                    function() {
                        write("こんにちは!" + Office.context.document.settings.get(n) + "さん");
                    }
                );
                $("#btnSave").click(
                    function() {
                        Office.context.document.settings.saveAsync(function (asyncResult) {
                            if (asyncResult.status == "succeeded") {
                                write("設定を保存しました。");
                            }
                        });
                    }
                );
                $("#btnRemove").click(
                    function() {
                        Office.context.document.settings.remove(n);
                        write("ユーザー設定(" + n + ")を削除しました。:" + v);
                    }
                );
            });
            function write(message) {
                $("#result").val(message);
            }
        </script>
        <style>
            body {
                margin:0;
                padding:0;
                font-family:Arial,sans-serif;
                font-size:0.9em;
            }
        </style>
    </head>
    <body>
        <input id="btnSet" type="button" value="Set">
        <input id="btnGet" type="button" value="Get">
        <input id="btnSave" type="button" value="Save">
        <input id="btnRemove" type="button" value="Remove">
        <textarea id="result" rows="4" cols="30"></textarea>
    </body>
</html>

上記コードの通り、Settingsオブジェクトの「set」メソッドでユーザー設定をセット、「get」メソッドでユーザー設定の呼出し、「remove」メソッドでユーザー設定の削除を行います。
そして忘れてはいけないのが設定の保存。
ユーザー設定をセットした後は「saveAsync」メソッドで保存しておかないと、文書を閉じたときに設定が消えてしまいます。
また、このユーザー設定はOffice用アプリを挿入した文書に保存されますので、「saveAsync」メソッドで設定を保存した後は忘れずに”文書の保存“(上書き保存・名前を付けて保存)を行いましょう。

ちなみに、ユーザー設定を保存した文書をZip解凍すると、保存した設定が「\userSettings\xl\webextensions」にある「webextension*.xml」(*は番号)ファイル内の「property」要素として保存されていることが確認できます。

関連記事

  1. Office関連

    Evernote Cloud SDKを使ったVBAマクロ

    3年ほど前にEvernote for Windowsを操作するVBAマ…

  2. Office関連

    ビジネスITアカデミーの無料VBAセミナーに行ってきました。

    Excel MVPの伊藤さんやWord MVPの新田さんのブログ記事で…

  3. Office関連

    Office製品の開発者用リファレンス(ダウンロード版)

    Docs.comでまとめていたリンクなんですが、来月15日にすべて廃止…

  4. Office関連

    Office 365 APIをVBAから呼び出す(2)

    前回の記事ではOffice 365とAzure ADの紐づけを行いまし…

  5. Office関連

    既存の機能の代わりにマクロを実行する方法をまとめてみました。

    「既存の機能の代わりにマクロを実行する」の関連になりますが、Offic…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP