1

我正在尝试从 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我已经搜索了方法参数的高低。

4

1 回答 1

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)

于 2013-07-24T09:22:04.440 回答