我尝试从Word打印到PDF,但每次都选择不同的页面范围。
Dim objWord As Word.Application
Set objWord = New Word.Application
objWord.Visible = True
objWord.Documents.Open "s:\reports\EY\FileName.doc", , , True
objWord.ActiveDocument.PrintOut , , , "s:\test.pdf", , , , 1, "1-2"
我的默认打印机是我的PDF创建者。
文档打开正常,PDF已创建,但它不可读。
取消页面范围,正确创建PDF,只显示整个文档。
我在PrintOut
方法参数中搜索高和低。
答案 0 :(得分:2)
这些参数可以在这里找到 - http://msdn.microsoft.com/en-us/library/office/bb237242%28v=office.12%29.aspx(就像jac在评论中所说的那样)。
无论如何,这是一个代码,它将当前文档的3-5页打印到默认打印机。某些值可能没用,可能会被删除,但这是Word在录制宏并打印文档时生成的内容。
objWord.PrintOut FileName:="", Range:=wdPrintRangeOfPages, Item:=wdPrintDocumentWithMarkup, Copies:=1, Pages:="3-5", PageType:= wdPrintAllPages, Collate:=True, Background:=True, PrintToFile:=False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, PrintZoomPaperHeight:=0
请注意wdPrintRangeOfPages和wdPrintDocumentWithMarkup,也许这就是缺少的。
(在宏中它是Application而不是objWord)