Vba 如何通过Word 2007(邮件合并)以pdf格式打印单个文档

Vba 如何通过Word 2007(邮件合并)以pdf格式打印单个文档,vba,pdf,printing,ms-word,mailmerge,Vba,Pdf,Printing,Ms Word,Mailmerge,我有一个有趣的问题,我在什么地方找不到答案。 我需要打印大约2000封信,当然我会用邮件合并。问题:我需要每一张都以pdf格式打印出来。我发现我必须在Word中使用VBA宏来获取单个字母(而不是在一个文档中获取全部字母),这已经起作用了。但我找不到如何将它们自动转换为pdf格式 有人有主意能帮我吗?我感谢你的帮助 到目前为止,我得到了什么(通过邮件合并生成单个文档): Sub-EinzelDatei() Dim actpath作为字符串,Dateiname作为字符串 作为对象的Dim fs 暗淡

我有一个有趣的问题,我在什么地方找不到答案。 我需要打印大约2000封信,当然我会用邮件合并。问题:我需要每一张都以pdf格式打印出来。我发现我必须在Word中使用VBA宏来获取单个字母(而不是在一个文档中获取全部字母),这已经起作用了。但我找不到如何将它们自动转换为pdf格式

有人有主意能帮我吗?我感谢你的帮助

到目前为止,我得到了什么(通过邮件合并生成单个文档):

Sub-EinzelDatei()
Dim actpath作为字符串,Dateiname作为字符串
作为对象的Dim fs
暗淡的光线和长的一样
常量路径为String=“D:\Test\”
错误转到0
Application.ScreenUpdating=False
Application.Visible=False
ActiveDocument.MailMerge.DataSource.ActiveRecord=wdLastRecord
LetzterRec=Word.ActiveDocument.MailMerge.DataSource.ActiveRecord
ActiveDocument.MailMerge.DataSource.ActiveRecord=wdFirstRecord
使用ActiveDocument.MailMerge
.DataSource.ActiveRecord=wdFirstRecord
做
如果.DataSource.ActiveRecord>0,则
.Destination=wdSendToNewDocument
.suppress blanklines=True
使用.DataSource
actpath=aktuelle Pfad与zusammengesetzt之间的路径和“\”
设置fs=CreateObject(“Scripting.FileSystemObject”)
如果fs.folderexists(actpath)=False,则MkDir(actpath)'Wenn der Pfad noch nicht existert wird er jetzt erstellt
.FirstRecord=.ActiveRecord
.LastRecord=.ActiveRecord
Dateiname=actpath&\u
.DataFields(“No”).Value&“-”&\u
.DataFields(“姓氏”).Value&“,”&\u
.DataFields(“First_Name”).Value&“.docx”'dateName=Name,Vorname.doc
以
.执行暂停:=False
ActiveDocument.SaveAs文件名:=Dateiname'
ActiveDocument.Close为False
如果结束
如果.DataSource.ActiveRecord
提前谢谢你

使用

ActiveDocument.SaveAs文件名:=Dateiname,文件格式:=wdsaveformat.wdFormatPDF

或许

ActiveDocument.SaveAs2文件名:=Dateiname,文件格式:=wdsaveformat.wdFormatPDF


但它只能在Word 2007 SP2(我想)和更高版本中使用。

有点简单,但您可以将默认打印机设置为PDF creator,然后使用打印功能。在2010年,完成合并后,您将获得打印或编辑选项。

在Word 2007中,导出功能可以将文件另存为PDF:

ActiveDocument.ExportAsFixedFormat OutputFileName:= _
        "Path to PDF", ExportFormat:= _
        wdExportFormatPDF

谢谢我会尝试一下,稍后再告诉你(我要到周末才开始工作:-()!这一个在这里工作正常:ActiveDocument.SaveAs文件名:=Dateiname,FileFormat:=wdsaveformat.wdFormatPDF,但正如我所说,它在Word 2007的早期版本上不起作用-PDF格式选项在首次发布时不存在。
ActiveDocument.ExportAsFixedFormat OutputFileName:= _
        "Path to PDF", ExportFormat:= _
        wdExportFormatPDF