我不确定为什么我的代码不能正常工作.. 我在Access 03中的vba中有代码,它打开一个运行邮件合并过程的word文档。 当代码运行时,它会询问Header Delimiters是什么。我在导出文件中将其指定为字段分隔符的逗号和记录分隔符。在我确认后,我得到一个运行时错误。
我得到的错误是: 运行时错误'5922': Word无法打开数据源。
strExportFullyQualifiedName是一个文本文件,使用其中列出的字段名称导出,该字段名称将用作数据源文件。
我检查了链接并验证,一切都存在。没有建立连接。 strExportFullyQualifiedName是txt文件的位置。
With objWordDoc
.MailMerge.OpenDataSource _
Name:=strExportFullyQualifiedName, Format:=wdOpenFormatAuto, _
ConfirmConversions:=False, ReadOnly:=False, SubType:=wdMergeSubTypeAccess, AddToRecentFiles:=False
.MailMerge.Destination = wdSendToNewDocument
.MailMerge.MainDocumentType = wdDirectory
.MailMerge.SuppressBlankLines = True
End With
谢谢!
答案 0 :(得分:1)
您是否参考了Word库(代码窗口 - >工具 - >参考)?如果没有,您将需要使用内置常量的值,例如wdOpenFormatAuto
编辑重新评论
由于您有文本文件,我不相信您的类型是正确的。尝试类似:
''To create output, if required
''DoCmd.TransferText acExportDelim, , "qryMailMerge", strExportFullyQualifiedName, True
With objWordDoc
.MailMerge.OpenDataSource _
Name:=strExportFullyQualifiedName, Format:=wdOpenFormatText
.MailMerge.Destination = wdSendToNewDocument
.MailMerge.MainDocumentType = wdDirectory
.MailMerge.SuppressBlankLines = True
End With
答案 1 :(得分:1)
您曾两次说过 strExportFullyQualifiedName 是文本文件的位置。我之前从未自动化此过程,但我认为您只能从 Word 文件中导出。
strExportFullyQualifiedName 是否包含文件路径&文件名?例如“C:\ TEST.DOC”?