0

我有一个非常复杂的 Word 编写的 VBA 插件,它使用 XML 输入自动为我创建一个报告,循环通过报告中的 X 对象来创建输出。它当前嵌入到 Word 模板文件 .DOCM 中。

我需要根据 XML 中的项目名称在报告中插入一个静态文本列表。例如,在我的 XML 中,我有名称为 BLAH1、BLAH2、BLAH3 的条目。每次看到BLAH1都需要和静态的INSERT1匹配,BLAH2和INSERT2匹配等等。

这似乎很简单,但问题在于她......

看起来 VBA 中没有 Hashmap 不需要外部库,我不能真正依赖它,因为我无法在运行它的机器上安装项目。因此,据我所知,我无法将此参考数据存储在 Hashmap 中。

我似乎无法在不达到 VBA 最大值的情况下将超过 20 行的字符串连接在一起,并且只解析我需要的文本块,因为我的参考数据中有大约 1500 条“行”,大大超过了 20 .

我还没有找到一种方法来嵌入文本或任何其他类型的文件以在文件中保存此信息,然后解析数据。

我真的希望将所有内容都包含在单个模板文件中,而无需将其他文本或其他文件与文档捆绑在一起。如果没有其他选择,我会走那条路,但我想看看 Stackoverflow 的人们可能首先有什么创意 ;-)

4

1 回答 1

0

您是否考虑过使用 Word 的文档变量?它们是不可见地存储在文档中的名称/值对。(ActiveDocument.Variables("BLAH1").Value = "INSERT1" 创建一个, debug.print ActiveDocument.Variables("BLAH1").Value 检索一个值(您必须使用错误处理程序来检测不存在的索引如果你走那条路)。Word 可以存储(至少)数十万个这样的东西)。

于 2013-04-01T10:15:18.930 回答