[Excel] 打印设置

时间:2024-01-16 11:41:38

Excel 中每一个 WorkSheet 都有一个 PageSetup 对象,用于设置打印属性;

一:页面

[Excel] 打印设置

1. Orientation,返回或设置一个 XlPageOrientation 值,表示纵向或横向打印模式。取值:xlPortrait 和 xlLandscape。

2. Zoom,返回或设置一个 Variant 值,取值在10-400之间,表示打印时的缩放比例。

3. FitToPagesWide, FitToPagesTall,返回或设置打印工作表时,对工作表进行缩放使用的页宽/页高;只有 Zoom 属性为 False 时,这两个属性才会有效。

注意,如果要选中“调整为”设置对应的页宽和页高的话,需要将 PageSetup 的 Zoom 值设置成 false,否则会默认选择“缩放比例”100%;如果不需要设置页宽或页高的话,需要将 FitToPagesTall 或 FitToPagesWide 设置成 false,否则也会默认设置成1;

4. PaperSize,返回或设置纸张的大小;XlPaperSize 类型,枚举见文章结尾处。

5. PrintQuality,返回或设置打印质量。

[Excel] 打印设置(来源:道客巴巴)

6. FirstPageNumber,返回或设置打印指定工作表时第一页的页号。默认值 xlAutomatic。

二:页边距

[Excel] 打印设置

1. TopMargin, BottomMargin, LeftMargin, RightMargin, HeaderMargin, FooterMargin: 上、下、左、右页边距,以及页眉、页脚边距;

注意:这6个值的单位是“磅”,但“页面设置”中“页边距”选项卡里的值都是“厘米”单位;

1磅=1/72英寸≈1/28厘米

2. CenterHorizontally, CenterVertically: 返回或设置在页面的水平居中或垂直居中位置打印指定工作表;

三:页眉/页脚

[Excel] 打印设置

1. LeftHeader, CenterHeader, RightHeader, LeftFooter, CenterFooter, RightFooter: 页眉(左、中、右)和页脚(左、中、右)的文本内容;

2. OddAndEvenPagesHeaderFooter: 如果指定的 PageSetup 对象的奇数页和偶数页具有不同的页眉和页脚,则为 True;

3. DifferentFirstPageHeaderFooter: Boolean,如果第一页使用不同的页眉或页脚,则为True;

4. ScaleWithDocHeaderFooter: 返回或设置页眉和页脚是否在文档大小更改时随文档缩放。

5. AlignMarginsHeaderFooter: 如果 Excel 以页面设置选项中设置的边距对齐页眉和页脚,则为 True;

6. LeftHeaderPicture, CenterHeaderPicture, RightHeaderPicture, LeftFooterPicture, CenterFooterPicture, RightFooterPicture: 返回一个表示页眉/页脚对应位置的Graphic对象,用于设置图片的属性;与自定义页眉/页脚相对应;

 Sub InsertPicture() 

  With ActiveSheet.PageSetup.CentertFooterPicture
.FileName = "C:\Sample.jpg"
.Height = 275.25
.Width = 463.5
.Brightness = 0.36
.ColorType = msoPictureGrayscale
.Contrast = 0.39
.CropBottom = -14.4
.CropLeft = -28.8
.CropRight = -14.4
.CropTop = 21.6
End With ActiveSheet.PageSetup.CenterFooter = "&G" End Sub

四:工作表

[Excel] 打印设置

1. PrintArea: 以字符串返回或设置要打印的区域,与宏语言A1样式引用相同;如果设置成False或空字符串"",可打印整个工作表;

示例:Worksheets("Sheet1").PageSetup.PrintArea = "$A$1:$C$5"

2. PrintTitleRowsPrintTitleColumns: 返回或设置那些包含在每一页顶部/左边重复出现的单元格的行/列,用宏语言字符串以A1样式表示法表示;设置成False或空字符串则会关闭标题行/列;

3. PrintGridlines: 如果在页面上打印单元格网格线,则为 True;

4. PrintComments: 返回或设置批注随工作表打印的方式。XlPrintLocation 类型;

 public enum XlPrintLocation
{
xlPrintNoComments = -,
xlPrintSheetEnd = ,
xlPrintInPlace = ,
}

xlPrintNoComments,-4142,不打印批注,默认;

xlPrintSheetEnd,1,批注打印为工作表末尾的尾注;

xlPrintInPlace,16,批注打印在其插入工作表的位置,如同工作表中的显示;

5. PrintNotes: 如果打印工作表时单元格批注作为尾注一起打印,则为 True,与 PrintComments 属性值为 xlPrintSheetEnd 相同;如果为 False,与 PrintComments 属性值为 xlPrintNoComments 相同;

6. BlackAndWhite: 如果指定文档中的元素以黑白方式打印,则为 True;

7. Draft: 如果打印工作表时不打印其中的图形,则为 True,可加快打印速度;

8. PrintHeadings: 如果打印本页的同时打印行标题和列标题,则为 True;

9. PrintErrors: 设置或返回一个 XlPrintErrors 常量,指示显示的打印错误类型;允许用户在打印工作表时取消错误显示;

 public enum XlPrintErrors
{
xlPrintErrorsDisplayed = ,
xlPrintErrorsBlank = ,
xlPrintErrorsDash = ,
xlPrintErrorsNA = ,
}

xlPrintErrorsDisplayed,0,显示全部打印错误,显示值;

xlPrintErrorsBlank,1,打印错误为空白,<空白>;

xlPrintErrorsDash,2,打印错误显示为划线,—;

xlPrintErrorsNA,3,打印错误显示为不可用,#N/A

10. Order: 返回或设置一个 XlOrder 值,表示打印一张大工作表时所使用的页编号的次序;

 public enum XlOrder
{
xlDownThenOver = ,
xlOverThenDown = ,
}

xlDownThenOver, 1, 向下处理行,然后向右逐个处理页或页面字段。先列后行;

xlOverThenDown, 2, 向右逐个处理页或页面字段,然后向下处理行。先行后列;

五:其他属性(与选项卡无对应关系)

1. Application: 如果不使用对象识别符,则返回 Application 对象,表示 Excel 应用程序;如果使用对象识别符,则返回一个表示指定对象创建者的 Application 对象,只读;

2. Creator: 返回一个32位整数,表示在其中创建此对象的应用程序,只读;

3. EvenPage: 返回或设置工作簿或节的偶数页上的文本对齐方式;

4. FirstPage: 返回或设置工作簿或节的第一页上的文本对齐方式;

EventPage/FirstPage.LeftHeader/CenterHeader/RightHeader/LeftFooter/CenterFooter/RightFooter.Text,分别设置偶数页/第一页的左/中/右页眉/页脚;

5. Pages: 返回或设置 Pages 集合中的页数;

6. Parent: 返回指定对象的父对象,只读;PageSetup 的父对象即 WorkSheet 对象;

其他

纸张类型 Excel.XlPaperSize:

 public enum XlPaperSize
{
xlPaperLetter = ,
xlPaperLetterSmall = ,
xlPaperTabloid = ,
xlPaperLedger = ,
xlPaperLegal = ,
xlPaperStatement = ,
xlPaperExecutive = ,
xlPaperA3 = ,
xlPaperA4 = ,
xlPaperA4Small = ,
xlPaperA5 = ,
xlPaperB4 = ,
xlPaperB5 = ,
xlPaperFolio = ,
xlPaperQuarto = ,
xlPaper10x14 = ,
xlPaper11x17 = ,
xlPaperNote = ,
xlPaperEnvelope9 = ,
xlPaperEnvelope10 = ,
xlPaperEnvelope11 = ,
xlPaperEnvelope12 = ,
xlPaperEnvelope14 = ,
xlPaperCsheet = ,
xlPaperDsheet = ,
xlPaperEsheet = ,
xlPaperEnvelopeDL = ,
xlPaperEnvelopeC5 = ,
xlPaperEnvelopeC3 = ,
xlPaperEnvelopeC4 = ,
xlPaperEnvelopeC6 = ,
xlPaperEnvelopeC65 = ,
xlPaperEnvelopeB4 = ,
xlPaperEnvelopeB5 = ,
xlPaperEnvelopeB6 = ,
xlPaperEnvelopeItaly = ,
xlPaperEnvelopeMonarch = ,
xlPaperEnvelopePersonal = ,
xlPaperFanfoldUS = ,
xlPaperFanfoldStdGerman = ,
xlPaperFanfoldLegalGerman = ,
xlPaperUser = ,
}

纸张方向 Excel.XlPageOrientation

 public enum XlPageOrientation
{
xlPortrait = ,
xlLandscape = ,
}