2013-07-23 67 views
1

我试图从Word打印到PDF,但每次都选择不同的页面范围。从Word打印到PDF中的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方法参数的高低。

+1

这有帮助吗? http://msdn.microsoft.com/en-us/library/office/bb237242%28v=office.12%29.aspx – jac

回答

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,也许这是缺少了什么。

(在宏中它是应用程序而不是objWord)

+0

感谢您的网页。当我搜索时,他们是我能找到的唯一的人。 –