新浪博客

ExcelVBA打印工作表——PrintOut方法(转)

2018-09-16 11:33阅读:

VBA中,使用PrintOut方法来打印工作表。例如,语句:

ActiveSheet.PrintOut
将打印当前工作表。

PrintOut方法的语法如下:
工作表对象.PrintOut(From,To,Copies,Preview,ActivePrinter,PrintToFile,Collate,PrToFileName,IgnorePrintAreas)
说明:
  • 所有参数均可选。使用适当的参数指定打印机、份数、逐份打印以及是否需要打印预览。使用参数PrintToFile和参数PrToFileName将工作表打印到文件。参数Fro
m和参数To用于指定打印的页码范围。
  • 参数From指定开始打印的页码。如果忽略,则从头开始打印。
  • 参数To指定最后打印的页码。如果忽略,则打印到最后一页。
  • 参数Copies指定要打印的份数。如果忽略,则只打印1份。
  • 参数Preview指定打印前是否要预览打印效果。设置为True则打印预览;设置为False(默认值)则直接打印。
  • 参数ActivePrinter设置当前打印机的名称。
  • 参数PrintToFile设置为True,将打印到文件。如果没有指定参数PrToFileName,将提示用户输入要输出的文件名。
  • 参数Collate设置为True将逐份打印。
  • 参数PrToFileName在参数PrintToFile设置为True时指定想要打印到文件的名称。
  • 参数IgnorePrintAreas设置为True将忽略打印区域,打印整份文档。

示例1:实现逐行批量打印
如下图所示的工作表,除表头的第1行不变外,从第2行开始逐条打印记录。 ExcelVBA打印工作表——PrintOut方法(转)
代码如下:
ExcelVBA打印工作表——PrintOut方法(转)
说明
  • PrintOut方法只打印工作表中的可见行。因此,将要打印的行逐条显示,同时隐藏不需要打印的行,从而实现逐条打印。

示例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


我的更多文章

下载客户端阅读体验更佳

APP专享