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

    SkyDriveの同期フォルダーのパスを取得するマクロ

    前回の記事ではSkyDriveの同期フォルダーのパスを取得するWord…

  2. Office関連

    指定したファイルをエクスプローラーで開いて選択するVBAマクロ

    マクロから直接ファイルを開くこともできるけどファイルの操作はユーザーに…

  3. Office関連

    オフライン版のOffice 2016 VBAリファレンスが公開されました。

    「ヘルプファイル版のOffice 2013開発者用リファレンスが公開さ…

  4. アイコン一覧

    Office 365アイコン(imageMso)一覧(H)

    Office 365のデスクトップ版Officeアプリケーション(Wo…

  5. Office関連

    [PowerPoint]シェイプの名前を指定して「変形」ができるようになりました。

    PowerPoint 2016で新しい画面切り替え効果「変形」が追加さ…

  6. Office関連

    [VBA]DataObjectを使ったクリップボード操作が上手くいかない場合の対処法

    VBAマクロからクリップボードを操作する場合、定番となっているのがDa…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP