微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Replace() 在 MSWord OpenDatasource 的查询中使用带有 VBA 的邮件合并

如何解决Replace() 在 MSWord OpenDatasource 的查询中使用带有 VBA 的邮件合并

我在数据库中有一个字段,以 : 结尾。 我的想法是使用 { INCLUDEPICTURE "pathname{MERGEFIELD f1}.jpg",之前将图像的名称存储在具有字段值名称文件夹中。 但是,我无法命名带有 : 字符的文件,我想在 ms word 中 OpenDatasource 函数内的查询中使用替换函数,但它显然不起作用。

代码如下:

Private Sub Document_open()
    Dim strConnection As String
    With Me.MailMerge
        .MainDocumentType = wdFormletters
        .OpenDataSource _
           Name:="E:\jobDB.mdb",_
           LinkToSource:=True,AddToRecentFiles:=False,ConfirmConversions:=True,_
           Connection:="TABLE t1",sqlStatement:="SELECT t1.name,replace(t1.f1,""":""","""") as repFld FROM t1;"
    End With
End Sub

Private Sub Document_Close()
   If Me.MailMerge.State = wdMainAndDataSource Then _
      Me.MailMerge.MainDocumentType = wdNotAMergeDocument
End Sub

这样做,我希望删除 : 并使 INCLUDETEXT 工作,但这不起作用,当代码执行时,会显示一个对话框让我选择数据库

我不知道是否有什么问题,或者是否有其他方法可以实现这一点,或者是否有任何字段、标签或标志来替换合并字段中的字符。

我只想使用 VBA 来连接到数据源,但我想为此使用 mailmerge,因为我研究了它的工作原理,我可以用条件字段做我想做的事情,否则我将不得不使用 VBA 和表单字段。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。