Word VBA для сохранения в определенном каталоге с полем слияния в качестве имени файла и приглашения - PullRequest
2 голосов
/ 18 августа 2011

Справочная информация. Я создал шаблон 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 голосов
/ 09 декабря 2017

Следующий код выбирает каталог. Он не позволяет вставлять поле слияния в качестве имени файла.

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
...