Word VBA保存在特定目录中,并将合并字段作为文件名和提示

时间:2011-08-17 20:25:11

标签: ms-word word-vba

背景: 我创建了一个Excel模板,用于邮件将字段合并到Word文档中,并生成5个不同的字母,这些字母将发送给一位客户。

团: 使Word VBA代码运行自动邮件合并,并提示在特定目录中保存(或自动保存)文件名,该文件名源自邮件合并字段。

(唯一标识符)+首字母名称+日期 保存在第一个字母文件夹

(唯一标识符)+第二个字母的名称+日期 保存在第二个字母文件夹

等。

问题: 我无法弄清楚如何指定目录或如何插入邮件合并字段作为文件名的一部分。

以下是我的代码

Sub MailMerge()

With ActiveDocument.MailMerge
    .Destination = wdSendToNewDocument
    .SuppressBlankLines = True

    With .DataSource
        .FirstRecord = wdDefaultFirstRecord
        .LastRecord = wdDefaultLastRecord
    End With

    .Execute Pause:=False
End With

With Dialogs(wdDialogFileSummaryInfo)
    .Title = "Letter1Draft" & Format(Now(), "mmddyyyy") & ".doc"
    .Execute
End With

' Then this!
With Dialogs(wdDialogFileSaveAs)
    .Show
End With

End Sub

1 个答案:

答案 0 :(得分:0)

以下代码选择目录。 它不允许您插入邮件合并字段作为文件名。

Sub AllSectionsToSubDoc()

    Dim x               As Long
    Dim Sections        As Long
    Dim Doc             As Document

    Application.ScreenUpdating = False
    Application.DisplayAlerts = False

    Set Doc = ActiveDocument
    Sections = Doc.Sections.Count
    For x = Sections - 1 To 1 Step -1
        Doc.Sections(x).Range.Copy
        Documents.Add
        ActiveDocument.Range.Paste
        ActiveDocument.SaveAs (Doc.Path & "\" & x & ".pdf")
        ActiveDocument.Close False
    Next x

    Application.ScreenUpdating = True
    Application.DisplayAlerts = True

End Sub