[Excel] 打印设置

时间:2024-03-02 11:34:52

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

一:页面

页面

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,返回或设置打印质量。

image(来源:道客巴巴)

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

二:页边距

页边距

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

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

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

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

三:页眉/页脚

页眉/页脚

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对象,用于设置图片的属性;与自定义页眉/页脚相对应;

 1 Sub InsertPicture() 
 2  
 3  With ActiveSheet.PageSetup.CentertFooterPicture 
 4  .FileName = "C:\Sample.jpg" 
 5  .Height = 275.25 
 6  .Width = 463.5 
 7  .Brightness = 0.36 
 8  .ColorType = msoPictureGrayscale 
 9  .Contrast = 0.39 
10  .CropBottom = -14.4 
11  .CropLeft = -28.8 
12  .CropRight = -14.4 
13  .CropTop = 21.6 
14  End With 
15  
16  ActiveSheet.PageSetup.CenterFooter = "&G" 
17  
18 End Sub
View Code

四:工作表

工作表

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

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

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

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

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

1 public enum XlPrintLocation
2 {
3     xlPrintNoComments = -4142,
4     xlPrintSheetEnd = 1,
5     xlPrintInPlace = 16,
6 }
View Code

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 常量,指示显示的打印错误类型;允许用户在打印工作表时取消错误显示;

1 public enum XlPrintErrors
2 {
3     xlPrintErrorsDisplayed = 0,
4     xlPrintErrorsBlank = 1,
5     xlPrintErrorsDash = 2,
6     xlPrintErrorsNA = 3,
7 }
View Code

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

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

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

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

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

1 public enum XlOrder
2 {
3     xlDownThenOver = 1,
4     xlOverThenDown = 2,
5 }
View Code

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:

 1 public enum XlPaperSize
 2 {
 3     xlPaperLetter = 1,
 4     xlPaperLetterSmall = 2,
 5     xlPaperTabloid = 3,
 6     xlPaperLedger = 4,
 7     xlPaperLegal = 5,
 8     xlPaperStatement = 6,
 9     xlPaperExecutive = 7,
10     xlPaperA3 = 8,
11     xlPaperA4 = 9,
12     xlPaperA4Small = 10,
13     xlPaperA5 = 11,
14     xlPaperB4 = 12,
15     xlPaperB5 = 13,
16     xlPaperFolio = 14,
17     xlPaperQuarto = 15,
18     xlPaper10x14 = 16,
19     xlPaper11x17 = 17,
20     xlPaperNote = 18,
21     xlPaperEnvelope9 = 19,
22     xlPaperEnvelope10 = 20,
23     xlPaperEnvelope11 = 21,
24     xlPaperEnvelope12 = 22,
25     xlPaperEnvelope14 = 23,
26     xlPaperCsheet = 24,
27     xlPaperDsheet = 25,
28     xlPaperEsheet = 26,
29     xlPaperEnvelopeDL = 27,
30     xlPaperEnvelopeC5 = 28,
31     xlPaperEnvelopeC3 = 29,
32     xlPaperEnvelopeC4 = 30,
33     xlPaperEnvelopeC6 = 31,
34     xlPaperEnvelopeC65 = 32,
35     xlPaperEnvelopeB4 = 33,
36     xlPaperEnvelopeB5 = 34,
37     xlPaperEnvelopeB6 = 35,
38     xlPaperEnvelopeItaly = 36,
39     xlPaperEnvelopeMonarch = 37,
40     xlPaperEnvelopePersonal = 38,
41     xlPaperFanfoldUS = 39,
42     xlPaperFanfoldStdGerman = 40,
43     xlPaperFanfoldLegalGerman = 41,
44     xlPaperUser = 256,
45 }
View Code

纸张方向 Excel.XlPageOrientation

1 public enum XlPageOrientation
2 {
3     xlPortrait = 1,
4     xlLandscape = 2,
5 }
View Code