如何用vba判断邮件合并主文档的状态?

在vba中可以使用MailMerge对象的State属性判断邮件合并对象的执行阶段。

它的值可以是以下几种:

名称 说明
wdDataSource 5 A data source with no main document.
wdMainAndDataSource 2 A main document with an attached data source.
wdMainAndHeader 3 A main document with an attached header source.
wdMainAndSourceAndHeader 4 A main document with attached data source and header source.
wdMainDocumentOnly 1 A main document with no data attached.
wdNormalDocument 0 该文档并没有进入邮件合并的操作,就是一个普通的文档

当一个word文档还没开始进入邮件合并时,MailMerge对象的State属性的值为wdNormalDocument,表示该文档就是一个普通的word文档。

当开始邮件合并,选择了具体的某个邮件合并文档类型时,比如“信封”,MailMerge对象的State属性的值为wdMainDocumentOnly,表示该文档目前只是一个邮件合并的主文档,也没有附加数据源。

当开始邮件合并,选择了具体的某个邮件合并文档类型时,比如“信封”,然后选择了收件人,此时MailMerge对象的State属性的值有可能是wdMainAndDataSource、wdMainAndHeader、wdMainAndSourceAndHeader3者中的其中一个,如果只选择了数据源没有定义字段标题,则为wdMainAndDataSource。

一帮情况下,我们选择用excel作为数据源时,MailMerge对象的State属性为wdMainAndDataSource。

       

发表评论