1

word JavaScript APIを使用してワードアドインを開発しています。ドキュメントのコンテキストでいくつかの値を保存する必要があるので、同じクライアントまたは他のクライアントでドキュメントを再び開くときに、その値をドキュメントから取得していくつかのアクションを実行する必要があります。私は設定オブジェクトでそれを試しましたが、設定オブジェクトはアドインごとに保存されるので、値は他のクライアントアドインでは利用できません。文書でどこでも利用できる値をどのように保存するか教えてください。ワードドキュメントに値(キー、値)のペアを格納する方法

ありがとうございました。

答えて

1

カスタムドキュメントプロパティが必要です。

はこちらをご覧ください: https://github.com/OfficeDev/office-js-docs/blob/WordJs_1.4_OpenSpec/reference/word/custompropertycollection.md

+0

返信いただきありがとうございます。私は "https://appsforoffice.microsoft.com/lib/beta/hosted/office.js"を使用しており、customPropertyObjectが未定義であることを示しています。ご意見をお聞かせください。 – Amit

+1

あなたが最新のアップデートを持っていることを確認してください。あなたはビルドが必要です16.7766+ –

1

また、あなたが必要なすべてのデータ、ドキュメント内に格納されている基本的にXMLファイルをXMLの一部を保存することができます。このサンプルをチェックして、xmlパーツを追加および取得する方法を確認してください。 https://github.com/OfficeDev/Word-Add-in-Work-with-custom-XML-parts/blob/master/C%23/CustomXMLAppWeb/App/Home/Home.js

btw私はあなたのニーズに合った文書プロパティを使用することをお勧めします。 Wordで最新のアップデートを使用していることを確認してください!ここで

は、ドキュメントプロパティを作成する方法の例(最初の例の数値、二番目の文字列)です。

function insertNumericProperty() { 
 
     Word.run(function (context) { 
 
      context.document.properties.customProperties.add("Numeric Property", 1234); 
 
      return context.sync() 
 
       .then(function() { 
 
        console.log("Property added");  
 
       }) 
 
       .catch(function (e) { 
 
        console.log(e.message); 
 
       }) 
 
     }) 
 

 
    } 
 

 
    function insertStringProperty() { 
 
     Word.run(function (context) { 
 
      context.document.properties.customProperties.add("String Property", "Hello World!"); 
 
      return context.sync() 
 
       .then(function() { 
 
        console.log("Property added");  
 
       }) 
 
       .catch(function (e) { 
 
        console.log(e.message); 
 
       }) 
 
     }) 
 
    }

ここではそれらを取得する方法についてのコードは次のとおりです。

function readCustomDocumentProperties() { 
 
     Word.run(function (context) { 
 
      var properties = context.document.properties.customProperties; 
 
      context.load(properties); 
 
      return context.sync() 
 
       .then(function() { 
 
        for (var i = 0; i < properties.items.length; i++) 
 
         console.log("Property Name:" + properties.items[i].key + ";Type=" + properties.items[i].type +"; Property Value=" + properties.items[i].value); 
 
       }) 
 
       .catch(function (e) { 
 
        console.log(e.message); 
 
       }) 
 
     }) 
 
    }

+0

提案をいただきありがとうございます。上記のリンクに従っていますが、ドキュメントのキーと値のペアを追加、編集、削除することはできません。あなたは私に多くの助けになるいくつかの作業コードを提供していただけますか?ありがとうございます。 – Amit

+0

上記のコードは機能的ですが、考えられるのは、必要なすべての名前/値のペアをXML文書に保存することです。この時点では、カスタムドキュメントのプロパティを試してみることをお勧めします。これは、あなたがやりたいことのためのより良い解決策であるようです。 –

+0

カスタムドキュメントのプロパティを作成して読む方法の詳細を追加しました。ありがとう –

関連する問題