1

我正在通过 VB 应用程序执行邮件合并,将 CSV 中的数据连接到包含一些宏的现有 Word (2010) 主文档。合并完成后,我会显示包含数据的合并文档,并且客户希望针对合并文档运行主文档中的一些宏。但是,合并文档中不存在主文档中的宏,我想知道是否有某种方法可以让它们一起来。

(我确实在向用户显示之前保存了合并的文档,所以可能是 Save 导致我丢失了它们?)

4

1 回答 1

1

正确 - 未复制宏。如果是这样,您可以想象可能会产生巨大的维护问题,因为创建的每个合并文档都将具有宏的副本,而不是指向它们的指针。

通常,您必须将宏放在模板中,并确保将邮件合并主文档附加到模板(例如,如果您从模板创建新的邮件合并主文档,就会出现这种情况)。

但是当您这样做时,无论是 autoopen 和 autonew 等自动宏,现在等效的 Document Events 将在创建或完成邮件合并输出文档时自动运行。

此外,ISTR 存在一个问题,即在您保存输出文档(并可能关闭/重新打开它)之前,宏可能不可见/不可用。我忘记了到底出了什么问题。

如果您确实需要将宏复制到输出文档中,我认为您最好将它们存储在任何 Word 文档之外的 .bas 文件中,并且您可以使用 VB 可扩展性库将它们加载到输出中文档。

于 2013-10-25T15:05:37.747 回答