我试图从Word打印到PDF,但每次都选择不同的页面范围。
Dim objWord As Word.Application
Set objWord = New Word.Application
objWord.Visible = True
objWord.Documents.Open "s:reportsEYFileName.doc", , , True
objWord.ActiveDocument.PrintOut , , , "s:test.pdf", , , , 1, "1-2"
我的默认打印机是我的PDF创建者。
文档打开良好,PDF已创建,但无法读取。
去掉页面范围,PDF是正确创建的,只是整个文档。
我在高位和低位搜索了PrintOut
方法参数。
参数可以在这里找到-http://msdn.microsoft.com/en-us/library/office/bb237242%28v=office.12%29.aspx(正如雅克在评论中所说)。
无论如何,这里有一个代码,可以将当前文档的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)