在Microsoft Word文档中存储任意元数据

len*_*nau 6 vba ms-word ms-office word-vba

我需要在Word文档中存储自定义元数据.'文档属性'限制为255个字节,但我的数据是>> 10k

我们正在使用VBA编写一个单词扩展来与我们的应用程序进行交互,并希望将我们的应用程序数据存储在word文档中.这个想法是用户可以只共享word文档而不共享我们应用程序的任何其他数据文件.

有没有人想过如何在Office 2003+文档中有效存储任意元数据?

Tom*_*lak 8

刚刚在VBA编辑器的即时窗口中尝试了这个:

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

? Len(ActiveDocument.Variables("foo"))
10000
Run Code Online (Sandbox Code Playgroud)

文档变量与文档一起存储.它们似乎达到了65280个Unicode字符,正如我刚刚发现的那样(在Word 2003中测试; 更新:这个限制在Word 2007和2010中是相同的).

如果您担心数据接近60k,我建议将其拆分为多个变量,或者在存储之前压缩它.这篇文章展示了在VBA中做到这一点的一些选择.