2009-04-17 14 views
5

Word文書にカスタムメタデータを保存する必要があります。 「文書のプロパティ」は255バイトに制限されていますが、データがあります>> 10k任意のメタデータをMicrosoft Word文書に保存する

私たちはVBAを使用してアプリケーションとやり取りし、アプリケーションデータをWord文書に保存します。アイデアは、ユーザーがアプリケーションの他のデータファイルを共有することなく単語文書だけを共有できるということです。

Office 2003以上のドキュメントに任意のメタデータを効率的に格納する方法を知りましたか?

答えて

8

ちょうどVBAエディタ即時ウィンドウでこれを試してみました:

ActiveDocument.Variables.Add "foo", String(10000, ".") 

? Len(ActiveDocument.Variables("foo")) 
10000 

ドキュメント変数は、ドキュメントに保存されます。私はちょうど(Word 2003でテストされた; 更新:この制限はWord 2007と2010では同じです)、65280のUnicode文字になるようです。

あなたのデータが60kに近づくことを恐れたら、いくつかの変数に分割するか、または保存する前に圧縮することをお勧めします。 This postは、VBAでそれを行うためのいくつかのオプションを示しています。

2

それは(そうでない場合、私はTomalakにより示唆されるようにドキュメント変数を使用することをお勧めします)、それはしかし、Wordの2003年では動作しないので、それはまだあなたに面白いかもしれません、正確にあなたの要件にないフィット:

Word 2007では(そして後で)Word文書に任意のXML文書をCustom XMLとして埋め込むことができます。

例は、MSDNのこの記事で説明しています。How to: Add Custom XML Parts to Documents by Using VSTO Add-Ins