代码之家  ›  专栏  ›  技术社区  ›  DinahMoeHumm

检查一下单词。文档是邮件合并,如果是,请删除邮件合并

  •  0
  • DinahMoeHumm  · 技术社区  · 1 年前

    打开配置为“邮件合并”的Word文档时,我们遇到了一个奇怪的问题。

    当您手动打开文档时,即只需在计算机上双击即可,它会显示一个消息框:

    " 打开此文档将运行以下SQL命令:

    从中选择* (此处为一些文件名)

    数据库中的数据将被放置在文档中。是否要继续? "

    单击“否”后,您可以转到“邮件”功能区,“开始邮件合并”,然后选择“普通Word文档”。如果你保存文档,所有这些邮件合并内容都会消失,当你打开文档时,你也不再收到邮件。

    现在是我们的应用程序。我们只需从Word中打开文档。Documents对象:

    oWDoc = oWDocs.Open(FileName:=sFile)
    

    现在

    我录制了一个宏,看看我们执行这些操作时发生了什么,它所记录的只是:

    oWDoc.MailMerge.MainDocumentType = -1
    

    但是,当我遍历我的代码时,在它按照第一个代码片段打开文档后,当我在MainDocumentType执行该语句之前检查它时,它已经是-1(wdNotAMergeDocument),如果我接着

    oWDoc.Save()
    

    ……这没什么区别。如果我随后尝试通过双击手动打开文档,我仍然会收到该消息,并且我仍然需要进行删除操作。

    我录制了另一个宏,看看除了文档之外,打开文档的方式是否有什么不同。Open调用似乎传递了所有默认值,所以我认为它应该与我们以编程方式打开它的方式相同。

    我的问题

    我如何:

    1. 以编程方式检查此项,然后
    2. 以编程方式删除它,这样即使用户随后手动打开文档,它也会真正消失?

    我们的代码是用VB编写的,但欢迎用C#编写

    0 回复  |  直到 1 年前