Как сохранить почтовый документ в шаблон?
Привет, я совсем новичок в этом программировании на VBA. Буду очень признателен за помощь Все, что я хочу сделать, это сохранить объединенный документ в шаблон.
Я использую свойство ActiveDocument.AttachedTemplate, которое, кажется, не работает. Фрагмент кода ниже. ПОЖАЛУЙСТА ПОМОГИ. Я могу правильно отправлять документы по почте.
ActiveDocument.AttachedTemplate = "C:\Users\xx\Dev\Letterhead.docx"
With ActiveDocument.MailMerge
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = ActiveDocument.MailMerge.DataSource.ActiveRecord
.LastRecord = ActiveDocument.MailMerge.DataSource.ActiveRecord
End With
.Execute Pause:=False
1 ответ
Если вы имеете в виду "сохранить как шаблон Word", а вы имеете в виду настоящий шаблон Word (.dotx или.dotm), то после.Execute вам нужно что-то вроде следующего. Если вы имеете в виду что-то еще, уточните свой вопрос.
ActiveDocument.SaveAs2 "the full path name of the .dotx", wdSaveFormat.wdFormatXMLTemplate
или же
ActiveDocument.SaveAs2 "the full path name of the .dotm", wdSaveFormat.wdFormatXMLTemplateMacroEnabled
Если вы имеете в виду "сохранить как. DOCX", то это будет
ActiveDocument.SaveAs2 "the full path name of the .docx", wdSaveFormat.wdFormatXMLDocument
Вы можете быть удивлены тем, что при этом используется ActiveDocument, но факт заключается в том, что после завершения слияния выходной документ становится ActiveDocument. Так что обычно хорошей идеей будет сделать ссылку на ActiveDocument перед слиянием, например
Dim mmmd As Word.Document
Set mmmd = ActiveDocument
With mmmd.MailMerge
'...
.Execute Pause:=False
' At this point you can use the mmmd object reference
' to do something to the mail merge main Document,
' and ActiveDocument to manipulate the output
End With
Set mmmd = Nothing