主文档中的宏在合并文档中丢失

时间:2013-10-24 20:23:59

标签: ms-word mailmerge

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

(我在显示给用户之前保存合并的文档,所以也许Save会导致我丢失它们?)

1 个答案:

答案 0 :(得分:1)

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

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

但是,如果您不执行autoopen和autonew等自动宏,那么现在,等效的Document Events将在创建或完成邮件合并输出文档时自动运行。

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

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