需要打印几张测试证书,第一页的序列号依次累加,这个倒好办,直接放置一个文本框用Vba填入数据,打印命令完成后删除该文本框,然后循环执行即可。关键第二页需要打印在纸张背面,所以得先打印其中一面,再翻过来打印反面。
打印函数的参数设置之前没有深究,看函数提示英文单词还能辨认出几个,自信爆棚的在From,To项下输入了数字,结果报了个类型不匹配的错误,改成字符吧,倒是成功执行了,只是没有得到预期的结果。骄傲使人落后,谦虚才能进步,老实看手册吧…
PrintOut的参数
名称 | 需求 | 数据类型 | 说明 |
---|---|---|---|
Background | 可选 | 变量 | 如果将该属性设置为True ,则Microsoft Word在打印文档时继续运行宏。 |
Append | 可选 | 变量 | 设置为True以将指定文档追加到OutputFileName参数指定的文件名。设置为False以覆盖OutputFileName的内容。 |
Range | 可选 | 变量 | 页面范围,可以是任何WdPrintOutRange常量。 |
OutputFileName | 可选 | 变量 | 如果当为True时,此参数将指定输出文件的路径和文件名称。 |
From | 可选 | 变量 | 如果将Range设置为wdPrintFromTo,则该参数指定起始页码。 |
To | 可选 | 变量 | 如果将Range设置为wdPrintFromTo,则该参数指定结束页码。 |
Item | 可选 | 变量 | 要打印的项目。可以是任何WdPrintOutItem常量。 |
Copies | 可选 | 变量 | 要打印的份数。 |
Pages | 可选 | 变量 | 要打印的页码和页码范围,中间用逗号分开。例如,"2, 6-10"表示打印第2页以及第6至第10页。 |
PageType | 可选 | 变量 | 要打印的页面类型。 可以是任何WdPrintOutPages常量。 |
PrintToFile | 可选 | 变量 | 要发送打印机说明文件,请确保指定的文件名称与OutputFileName。 |
Collate | 可选 | 变量 | 在打印文档的多份副本时,如果该属性值为True,则完成打印所有页面后再打印下一份副本。 |
FileName | 可选 | 变量 | 要打印的文档的路径和文件名称。如果省略此参数,Word将打印活动文档。 |
ActivePrinterMacGX | 可选 | 变量 | 该参数仅适用于Microsoft Office Macintosh Edition。有关该参数的其他信息,请参阅Microsoft Office Macintosh Edition附带的语言参考帮助。 |
ManualDuplexPrint | 可选 | 变量 | 要在无双面打印组件的打印机上打印双面文档。 如果该参数为True,PrintBackground和PrintReverse属性将被忽略。 PrintOddPagesInAscendingOrder和PrintEvenPagesInAscendingOrder属性用于控制在手动双面打印输出。此参数可能不可用,这取决于您所选择或安装的语言支持(例如美国英语)。 |
PrintZoomColumn | 可选 | 变量 | 表示Word在一页纸上水平放置的页数。可以是1、2、3或4页。与PrintZoomRow参数一同使用可在单张纸上打印多页文档。 |
PrintZoomRow | 可选 | 变量 | 表示Word在一页纸上垂直放置的页数。可以是1、2或4页。与PrintZoomColumn参数一同使用可在单张纸上打印多页文档。 |
PrintZoomPaperWidth | 可选 | 变量 | Word要将打印页面缩放到的宽度,以缇为单位(20缇=1磅;72磅=1英寸)。 |
PrintZoomPaperHeight | 可选 | 变量 | 您希望Word将打印页面缩放到的高度,以缇为单位(20缇=1磅;72磅=1英寸)。 |
WdPrintOutRange取值
名称 | 值 | 描述 |
---|---|---|
wdPrintAllDocument | 0 | 整个文档 |
wdPrintCurrentPage | 2 | 当前页 |
wdPrintFromTo | 3 | 指定范围 |
wdPrintRangeOfPages | 4 | 指定的页面范围 |
wdPrintSelection | 1 | 当前所选内容 |
打印实例
原来除了From,To之外,还需要指定一个Range参数,取值见上表。想要单独打印第一页,命令可以写成这样:
ActiveDocument.PrintOut , , wdPrintFromTo, , "1", "1"
打印当前页就更简单了,只需要将Range的值设置为wdPrintCurrentPage就可以了:
ActiveDocument.PrintOut , , wdPrintCurrentPage
也可以只打印当前选中的内容:
ActiveDocument.PrintOut ,,wdPrintSelection
不想或者不方便按顺序来写参数的时候可以加上参数名称,比如下面的语句可以将当前页面缩放至原页面的1/4后打印输出:
ActiveDocument.PrintOut Range:=wdPrintCurrentPage, PrintZoomColumn:=2, PrintZoomRow:=2