2

我使用stackoverflow的解决方案通过宏进行邮件合并,它工作正常,但有一些汉字数字在邮件合并后变成阿拉伯数字。通常,如果我手动进行邮件合并,我将其保存为 .csv,并且中文字符编号仍会显示在合并的文档中。但是,我无法将宏保存在 .csv 中,因此如果有人可以提供宏的解决方案,以便汉字编号可以显示在合并的 word 文档中,那就太好了。

我使用以下代码:执行 Word 邮件合并

Sub RunMerge()

    Dim wd As Object
    Dim wdocSource As Object

    Dim strWorkbookName As String

    On Error Resume Next
    Set wd = GetObject(, "Word.Application")
    If wd Is Nothing Then
       Set wd = CreateObject("Word.Application")
    End If
    On Error GoTo 0

    Set wdocSource = wd.Documents.Open("c:\test\WordMerge.docx")

    strWorkbookName = ThisWorkbook.Path & "\" & ThisWorkbook.Name

    wdocSource.MailMerge.MainDocumentType = wdFormLetters

    wdocSource.MailMerge.OpenDataSource _
        Name:=strWorkbookName, _
        AddToRecentFiles:=False, _
        Revert:=False, _
        Format:=wdOpenFormatAuto, _
        Connection:="Data Source=" & strWorkbookName & ";Mode=Read", _
        SQLStatement:="SELECT * FROM `Sheet1$`"

    With wdocSource.MailMerge
        .Destination = wdSendToNewDocument
        .SuppressBlankLines = True
        With .DataSource
           .FirstRecord = wdDefaultFirstRecord
           .LastRecord = wdDefaultLastRecord
        End With
        .Execute Pause:=False
    End With

    wd.Visible = True
    wdocSource.Close SaveChanges:=False

    Set wdocSource = Nothing
    Set wd = Nothing

End Sub
4

1 回答 1

0

请尝试将系统语言更改为中文。曾经我也为日本人的性格而苦恼。它帮助了我,也许这也可以帮助你。

于 2013-12-24T10:03:02.993 回答