タスク ペイン アプリでJavaScript APISettings
のオブジェクトを使用して、ドキュメントにいくつかのキーと値のペアを保存しています。
私のコードは次のようなものです
Office.context.document.settings.set(key, value);
Office.context.document.settings.saveAsync(function () {
Toast.showToast("Setting saved", "Info saved into the document using saveAsync");
});
saveAsync
また、値を永続化するために関数を呼び出しています。
私が直面している問題は、現在設定オブジェクトがサポートされていないため、Word Online で設定が保持されていないことです。Word Online
アプリケーションが Word Online で実行されていることを確認する方法があるので、メッセージを表示したり、localStorage などを使用して値を保存したりできます。
編集: Word Online でこれを追加するための uservoice 要求を作成しました。ここでこの機能をサポートできます
編集 2
問題をよりよく説明し、例を共有するために、サンプル アドオンを作成しました。マニフェストはここにあります。
ここで、キーの値を入力してtest
保存を押すと、 にある関数が内部的に呼び出さsaveToPropertyBag(key, value)
れStorageLibrary.js
ます。この関数には、設定を保存するための上記のコードsaveAsync
が含まれており、値がドキュメントに保持されるように呼び出されます。
これで、ブラウザーを更新するか、アドオンを再読み込みして [取得] を押すことができます。値は Excel と Powerpoint では使用できますが、Word Online では使用できません。
そのため、ホスト (Word Online) を検出する方法を探しています。これにより、ローカル ストレージのような値を格納する別の方法にフォールバックし、ユーザーに警告を表示することもできます。