首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >邮件合并excel vba

邮件合并excel vba
EN

Stack Overflow用户
提问于 2018-03-18 10:30:18
回答 1查看 842关注 0票数 1

我有我的excel数据表和我的word文档,如下所示

https://www.dropbox.com/s/my62tw9jsf...32018.xls?dl=0

https://www.dropbox.com/s/h5wb91ymd3...flo1.docx?dl=0

我的word文档已经配置了合并字段布局。我尝试过将邮件合并到word,但不幸的是,每当我尝试邮件合并时,Word应用程序就会变成“没有响应”。

这里是已记录的宏:

代码语言:javascript
复制
Sub Macro1()
'
' Macro1 Macro
'
'
    ActiveDocument.MailMerge.OpenDataSource Name:= _
        "C:\Users\[userName]\Desktop\New folder (18)\fixedcharge16032018.xls", _
        ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _
        AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
        WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _
        Format:=wdOpenFormatAuto, Connection:= _
        "Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=C:\Users\[UserName]\Desktop\New folder (18)\fixedcharge16032018.xls;Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Engine Type=35;Je" _
        , SQLStatement:="SELECT * FROM `Sheet1$`", SQLStatement1:="", SubType:= _
        wdMergeSubTypeAccess
End Sub
EN

回答 1

Stack Overflow用户

发布于 2018-03-18 12:59:52

数据源的连接字符串比宏记录器所能处理的更长。注意它是如何非常奇怪地被切断的:

"Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=C:\Users[UserName]\Desktop\New文件夹Users[UserName]Properties=“”HDR=YES;IMEX=1;“;Jet:System database=”“;Jet OLEDB:RegistryPath=”;Jet:Engine Type=35;Je“__

它以;Je"结尾是不正常的。当我尝试在Word 2016中录制时,我看到了类似的东西。(差异是由于文件路径的长度造成的。)

幸运的是,您不需要标准连接字符串末尾的所有信息。它可以被编辑/缩减为Word的邮件合并可以使用的表单。

下面的方法对我有效--在IMEX=1;"之后切断连接字符串。备注,为了您的安全,我替换了文件夹路径中包含您名字的部分!你需要把它修改回你的路径。

代码语言:javascript
复制
Sub MergeMacro
' Macro1 Macro
'
'
    ActiveDocument.MailMerge.OpenDataSource Name:= _
        "C:\Users\[userName]\Desktop\New folder (18)\fixedcharge16032018.xls", _
        ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _
        AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
        WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _
        Format:=wdOpenFormatAuto, Connection:= _
        "Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=C:\Users\[UserName]\Desktop\New folder (18)\fixedcharge16032018.xls;Mode=Read;Extended Properties=""HDR=YES;IMEX=1;", _
        SQLStatement:="SELECT * FROM `Sheet1$`", SQLStatement1:="", SubType:= _
        wdMergeSubTypeAccess
End Sub
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49346857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档