【问题标题】:Storing arbitrary meta-data in Microsoft Word document在 Microsoft Word 文档中存储任意元数据
【发布时间】:2015-11-25 15:11:09
【问题描述】:

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

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

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

【问题讨论】:

    标签: vba ms-office ms-word


    【解决方案1】:

    刚刚在 VBA 编辑器即时窗口中尝试过:

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

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

    如果您担心数据接近 60k,我建议您将其拆分为多个变量,或者在存储之前对其进行压缩。 This post 显示了在 VBA 中执行此操作的一些选项。

    【讨论】:

      【解决方案2】:

      它不完全符合您的要求,因为它不适用于 Word 2003。但是,您仍然可能对它感兴趣(否则我建议您使用 Tomalak 建议的文档变量):

      在 Word 2007(及更高版本)中,您可以将任意 XML 文档作为 Custom XML 嵌入到 Word 文档中。

      MSDN 上的这篇文章中描述了一个示例:How to: Add Custom XML Parts to Documents by Using VSTO Add-Ins

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-03-25
        • 1970-01-01
        • 2011-05-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多