分享

【Excel VBA】PageSetup对象

 wubwu 2020-06-23

我们在工作中经常会打印东西,会手动设置一些参数,如横向或竖向打印等。了解下PageSetup属性,用简短的几行代码设置好打印参数,便可以设置一次,永久使用,方便高效。

PageSetup对象代表页面设置说明。包含所有页面设置的属性(左边距、底部边距、纸张大小等)。

下例将打印方向设置为横向,然后打印工作表。

  1. With Worksheets("Sheet1")
  2. .PageSetup.Orientation = xlLandscape
  3. .PrintOut
  4. End With

1.与“页面”选项卡对应的属性

属性说明
FirstPageNumber返回或设置打印指定工作表时第一页的页号。如果设为 xlAutomatic,则 Microsoft Excel 采用第一页的页号。默认值为 xlAutomatic。Long 类型,可读写。
FitToPagesTall返回或设置打印工作表时,对工作表进行缩放使用的页高。仅应用于工作表。Variant  类型,可读写。
FitToPagesWide返回或设置打印工作表时,对工作表进行缩放使用的页宽。仅应用于工作表。Variant  类型,可读写。
Orientation返回或设置一个 XlPageOrientation  值,该值代表纵向或横向打印模式。
Pages返回或设置 Pages 集合中的页数。
PaperSize返回或设置纸张大小。可读写 XlPaperSize。
PrintQuality返回或设置打印质量。Variant 类型,可读写。
Zoom返回或设置一个 Variant 值,它代表一个数值在 10% 到 400% 之间的百分比,该百分比为 Microsoft Excel 打印工作表时的缩放比例。此属性仅适用于工作表。如果此属性设置为 False,则 FitToPagesWide 和  FitToPagesTall 属性控制工作表缩放的方式。所有缩放均保持原文档的长宽比例。

本示例将 Sheet1 设置为横向打印。

  1. Worksheets("Sheet1").PageSetup.FirstPageNumber = 100'将 Sheet1 打印时的第一页的页号设置为 100
  2. Worksheets("Sheet1").PageSetup.Orientation = xlLandscape'将 Sheet1 设置为横向打印
  3. Worksheets("Sheet1").PageSetup.Orientation = xlPortrait'将 Sheet1 设置为纵向打印
  4. With Worksheets("Sheet1").PageSetup'按照一页的宽度和高度打印 Sheet1
  5. .Zoom = False
  6. .FitToPagesTall = 1
  7. .FitToPagesWide = 1
  8. End With
  9. Worksheets("Sheet1").PageSetup.PaperSize = xlPaperA4'将 Sheet1 的纸张大小设置为A4纸
  10. Worksheets("Sheet1").PageSetup.Zoom = 150'设置打印 Sheet1 时的缩放比例为 150%

2.与“页边距”选项卡对应的属性

边距的设置和返回均以磅为单位。可使用 InchesToPoints 方法进行英寸到磅值的转换,也可使用  CentimetersToPoints 方法进行厘米到磅值的转换。

磅:指打印的字符的高度的度量单位。1 磅等于 1/72 英寸,或大约等于 1 厘米的 1/28。)

属性说明
BottomMargin以磅为单位返回或设置底端边距的大小。Double 类型,可读写。
CenterHorizontally如果在页面的水平居中位置打印指定工作表,则该属性值为 True。Boolean 类型,可读写。
CenterVertically如果在页面的垂直居中位置打印指定工作表,则该属性值为 True。Boolean 类型,可读写。
FooterMargin以磅为单位返回或设置页脚到页面底端的距离。Double 类型,可读写。
HeaderMargin以磅为单位返回或设置页面顶端到页眉的距离。Double 类型,可读写。
LeftMargin以磅为单位返回或设置左边距的大小。Double 类型,可读写。
RightMargin以磅为单位返回或设置右边距的大小。Double 类型,可读写。
TopMargin以磅为单位返回或设置上边距的大小。Double 类型,可读写。

下例设置第一张工作表的所有页边距。

  1. With Worksheets(1).PageSetup
  2. .LeftMargin = Application.InchesToPoints(0.5)
  3. .RightMargin = Application.InchesToPoints(0.75)
  4. .TopMargin = Application.InchesToPoints(1.5)
  5. .BottomMargin = Application.InchesToPoints(1)
  6. .HeaderMargin = Application.InchesToPoints(0.5)
  7. .FooterMargin = Application.InchesToPoints(0.5)
  8. End With
  1. Worksheets("Sheet1").PageSetup.CenterHorizontally = True'将Sheet1 设置成水平居中打印。
  2. Worksheets("Sheet1").PageSetup.CenterVertically = True'将 Sheet1 设为垂直居中打印

这两个属性类似于设置单元格中内容水平居中、垂直居中。

3.与“页眉/页脚”选项卡对应的属性

属性说明
AlignMarginsHeaderFooter如果 Excel  以页面设置选项中设置的边距对齐页眉和页脚,则返回 True。可读/写 Boolean 类型。
CenterFooter居中对齐 PageSetup 对象中的页脚信息。可读/写 String 类型。
CenterFooterPicture返回一个 Graphic  对象,该对象代表页脚中间部分的图片。用于设置与图片相关的属性。
CenterHeader居中对齐 PageSetup 对象中的页眉信息。可读/写 String 类型。
CenterHeaderPicture返回一个 Graphic  对象,该对象代表页眉中间部分的图片。用于设置与图片相关的属性。
DifferentFirstPageHeaderFooter如果在第一页使用不同的页眉或页脚,则为 True。可读/写 Boolean 类型。
LeftFooter返回或设置工作簿或节的左页脚上的文本对齐方式。
LeftFooterPicture返回一个 Graphic  对象,该对象代表页脚左侧部分的图片。用于设置与图片相关的属性。
LeftHeader返回或设置工作簿或节的左页眉上的文本对齐方式。
LeftHeaderPicture返回一个 Graphic  对象,该对象代表页眉左侧部分的图片。用于设置与图片相关的属性。
OddAndEvenPagesHeaderFooter如果指定的 PageSetup  对象的奇数页和偶数页具有不同的页眉和页脚,则该属性值为 True。Boolean 类型,可读写。
RightFooter返回或设置页面右边缘与页脚右边界之间的距离(以磅为单位)。可读/写 String 类型。
RightFooterPicture返回一个 Graphic  对象,该对象代表页脚右侧部分的图片。用于设置图片的属性。
RightHeader返回或设置页眉的右边部分内容。可读/写 String 类型。
RightHeaderPicture指定右页眉中应显示的图形图像。只读。
ScaleWithDocHeaderFooter返回或设置页眉和页脚是否在文档大小更改时随文档缩放。可读/写 Boolean 类型。

4.与“工作表”选项卡对应的属性

属性说明
BlackAndWhite如果指定文档中的元素以黑白方式打印,则该属性值为 True。Boolean 类型,可读写。
Draft如果打印工作表时不打印其中的图形,则该属性值为 True。Boolean 类型,可读写。
Order返回或设置一个 XlOrder 值,该值代表 Microsoft Excel 打印一张大工作表时用于对页进行编号的顺序。
PrintArea以字符串返回或设置要打印的区域,该字符串使用宏语言的 A1  样式的引用。String 类型,可读写。
PrintComments返回或设置批注随工作表打印的方式。XlPrintLocation  类型,可读写。可以文本框或尾注形式打印批注。
PrintErrors设置或返回一个 XlPrintErrors  常量,该常量指定显示的打印错误类型。该功能允许用户在打印工作表时取消错误显示。可读写。
PrintGridlines如果在页面上打印单元格网格线,则该值为 True。仅应用于工作表。Boolean 类型,可读写。
PrintHeadings如果打印本页时同时打印行标题和列标题,则该值为 True。仅应用于工作表。Boolean 类型,可读写。
PrintNotes如果打印工作表时单元格批注作为尾注一起打印,则该值为 True。仅应用于工作表。Boolean 类型,可读写。
PrintTitleColumns返回或设置包含在每一页的左边重复出现的单元格的列,用宏语言 A1-样式中的字符串表示。String 类型,可读写。将该属性设置为 False 或空字符串 (""),将会关闭标题列。
PrintTitleRows返回或设置那些包含在每一页顶部重复出现的单元格的行,用宏语言字符串以 A1 样式表示法表示。String 类型,可读写。
  1. Worksheets("Sheet1").PageSetup.BlackAndWhite = True'设置工作表 Sheet1 以黑白方式打印
  2. Worksheets("Sheet1").PageSetup.Draft = True'关闭对 Sheet1 中图形的打印
  3. Worksheets("Sheet1").PageSetup.Order = xlOverThenDown'设置打印 Sheet1 时将其分为多页打印。按照从左到右,从上到下的顺序编号和打印。
  4. Worksheets("Sheet1").PageSetup.PrintArea = "$A$1:$C$5"'将打印区域设置为 Sheet1 上的单元格 A1:C5
  5. Worksheets(1).PageSetup.PrintComments = xlPrintSheetEnd'使批注以尾注的方式打印
  6. Worksheets("Sheet1").PageSetup.PrintGridlines = True'打印 Sheet1 时同时打印单元格网格线
  7. Worksheets("Sheet1").PageSetup.PrintHeadings = False'关闭打印 Sheet1 中的标题
  8. Worksheets("Sheet1").PageSetup.PrintNotes = False'关闭打印批注
  9. ActiveSheet.PageSetup.PrintTitleRows = ActiveSheet.Rows(3).Address'将第三行定义为标题行
  10. ActiveSheet.PageSetup.PrintTitleColumns = ActiveSheet.Columns("A:C").Address'将第一列到第三列定义为标题列

PrintComments属性

设置批注

会在新的一页打印批注。

5.与选项卡无对应关系的属性

属性说明
Application如果不使用对象识别符,则该属性返回一个代表 Microsoft Excel 应用程序的 Application 对象。如果使用对象识别符,则该属性返回一个代表指定对象的创建程序的 Application 对象(可对一个 OLE 自动化对象使用该属性来返回该对象的应用程序)。只读。
Creator返回一个 32 位整数,该整数指示创建对象的应用程序。只读 Long 类型。
EvenPage返回或设置工作簿或节的偶数页上的文本对齐方式。
FirstPage返回或设置工作簿或节的第一页上的文本对齐方式。
Parent返回指定对象的父对象。只读。

Range.PrintOut 方法

该方法相当于在Excel点击打印按钮执行打印操作。该方法可以设置哪台打印机进行打印。

表达式如下。

.PrintOut(From, To, Copies, Preview, ActivePrinter, PrintToFile, Collate, PrToFileName)

名称说明
From打印的开始页号。如果省略此参数,则从起始位置开始打印。
To打印的终止页号。如果省略此参数,则打印至最后一页。
Copies打印份数。如果省略此参数,则只打印一份。
Preview如果为 True,Microsoft Excel 将在打印对象之前调用打印预览。如果为 False(或省略该参数),则立即打印对象。
ActivePrinter设置活动打印机的名称。
PrintToFile如果为 True,则打印到文件。如果没有指定 PrToFileName,Microsoft Excel 将提示用户输入要使用的输出文件的文件名。
Collate如果为 True,则逐份打印多个副本。
PrToFileName如果 PrintToFile 设为 True,则该参数指定要打印到的文件名。

注:From 和 To 所描述的“页”指的是要打印的页,并非指定工作表或工作簿中的全部页。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多