在VBA中,使用PrintOut方法来打印工作表。例如,语句:
ActiveSheet.PrintOut
将打印当前工作表。
PrintOut方法的语法如下:
工作表对象.PrintOut(From,To,Copies,Preview,ActivePrinter,PrintToFile,Collate,PrToFileName,IgnorePrintAreas)
说明:
-
所有参数均可选。使用适当的参数指定打印机、份数、逐份打印以及是否需要打印预览。使用参数PrintToFile和参数PrToFileName将工作表打印到文件。参数From和参数To用于指定打印的页码范围。
-
参数From指定开始打印的页码。如果忽略,则从头开始打印。
-
参数To指定最后打印的页码。如果忽略,则打印到最后一页。
-
参数Copies指定要打印的份数。如果忽略,则只打印1份。
-
参数Preview指定打印前是否要预览打印效果。设置为True则打印预览;设置为False(默认值)则直接打印。
-
参数ActivePrinter设置当前打印机的名称。
-
参数PrintToFile设置为True,将打印到文件。如果没有指定参数PrToFileName,将提示用户输入要输出的文件名。
-
参数Collate设置为True将逐份打印。
-
参数PrToFileName在参数PrintToFile设置为True时指定想要打印到文件的名称。
-
参数IgnorePrintAreas设置为True将忽略打印区域,打印整份文档。
示例1:实现逐行批量打印
如下图所示的工作表,除表头的第1行不变外,从第2行开始逐条打印记录。http://s14/mw690/005Wpjj7zy7nFtPzHiJ6d&690
代码如下:
http://s8/mw690/005Wpjj7zy7nFtYEc7l97&690
说明:
示例2:只打印奇数页
下面是一段简单的小程序,可以只打印奇数页。
Sub
PrintOddPages()
Dim
k As Integer
k
= 1
Do
While (k < 800)
ActiveSheet.PrintOut From:=k, to:=k
k = k + 2
Loop
End Sub
加载中,请稍候......