1. 程式人生 > >vba,設置,excel,wps ,頁面設置

vba,設置,excel,wps ,頁面設置

vertical ins 橫向打印 區域 stp .text 元素 數據 整數

全面認識頁面設置之 PageSetup 對象
我們在寫 VBA 代碼時,特別是做小型程序開發時,經常會用 VBA 來設置
“頁面設置”中的選項,還可用要用 VBA 來實現一些特殊的效果,這就需要使
用 PageSteup 對象。PageSetup 對象包含所有頁面設置的屬性(左邊距、底部邊
距、紙張大小等)。此對象共有 49 個屬性,其中:8 個屬性是 EXCEL2007 新添
加的,1 個屬性在 2007 中被刪除了。
下面我按照“頁面”、“頁邊距”、“頁眉/頁腳”、“工作表”和“無對應選項卡”
五個類別來逐一介紹這 49 個屬性:
一、與“頁面”選項卡對應的屬性有 7 個。分別為:PrintQuality、Orientation、
FirstPageNumber、Zoom、FitToPagesWide、FitToPagesTall、PaperSize。
1、PrintQuality:返回或設置打印質量。Variant 類型,可讀寫。此屬性與“打印
質量”選項對應。
Worksheets("Sheet1").PageSetup.PrintQuality = Array(240, 140)’用數組指定水平和
垂直方向的打印質量
Worksheets("Sheet1").PageSetup.PrintQuality(1)=600’指定水平方向的打印質量
Worksheets("Sheet1").PageSetup.PrintQuality(2)=600’指定垂直方向的打印質量
以上示例在使用過程中是否出現錯誤取決於使用的打印機驅動程序,因為不同打
印機能夠設置的質量是不同的。
2、Orientation:返回或設置一個 XlPageOrientation 值,它代表縱向或橫向打印模
式。此屬性與“方向”選項對應。
Worksheets("Sheet1").PageSetup.Orientation = xlLandscape’設置模向打印模式
Worksheets("Sheet1").PageSetup.Orientation = xlPortrait’設置縱向打印模式
3、FirstPageNumber:返回或設置打印指定工作表時第一頁的頁號。如果設為
xlAutomatic,則 MicrosoftExcel 采用第一頁的頁號。默認值為 xlAutomatic。Long
類型,可讀寫。此屬性與“起始頁碼”選項對應。
可以根據需要設置任意的數據,這樣打印出來的報表就不是從第一頁開始了的。
4、Zoom:返回或設置一個 Variant 值,它代表一個數值在 10%到 400%之間的百
分比,該百分比為 MicrosoftExcel 打印工作表時的縮放比例。此屬性與“縮放比
例”選項對應。
輸入時不要輸入百分號(%),只輸入數值就可以了。
5、FitToPagesWide:返回或設置打印工作表時,對工作表進行縮放使用的頁寬。
僅應用於工作表。Variant 類型,可讀寫。此屬性與“頁高”選項對應。
6、FitToPagesTall:返回或設置打印工作表時,對工作表進行縮放使用的頁高。
僅應用於工作表。Variant 類型,可讀寫。此屬性與“頁寬”選項對應。
只有 Zoom屬性值為 False 時,FitToPagesWide 和 FitToPagesTall屬性才會起作用,
大家使用的時候請註意。
7、PaperSize:返回或設置紙張的大小。XlPaperSize 類型,可讀寫。此屬性與“紙
張大小”選項對應。
二、與“頁邊距”選項卡對應的屬性有 8 個。分別為:CenterVertically、
CenterHorizontally、TopMargin、BottomMargin、FooterMargin、HeaderMargin、
RightMargin、LeftMargin
1、CenterVertically:如果在頁面的垂直居中位置打印指定工作表,則該屬性值為
True。Boolean 類型,可讀寫。此屬性與“垂直”選項對應。
Worksheets("Sheet1").PageSetup. CenterVertically = True’將工作表設置成垂直居
中。
2、CenterHorizontally:如果在頁面的水平居中位置打印指定工作表,則該屬性
值為 True。Boolean 類型,可讀寫。此屬性與“水平”選項對應。
Worksheets("Sheet1").PageSetup.CenterHorizontally = True’將工作表設置成水平
居中。
3、TopMargin:以磅為單位返回或設置上邊距的大小。Double 類型,可讀寫。
此屬性與“上”選項對應。
4、BottomMargin:以磅為單位返回或設置底端邊距的大小。Double 類型,可讀
寫。此屬性與“下”選項對應。
5、FooterMargin:以磅為單位返回或設置頁腳到頁面底端的距離。Double 類型,
可讀寫。此屬性與“頁腳”選項對應。
6、HeaderMargin:以磅為單位返回或設置頁面頂端到頁眉的距離。Double 類型,
可讀寫。此屬性與“頁眉”選項對應。
7、RightMargin:以磅為單位返回或設置右邊距的大小。Double 類型,可讀寫。
此屬性與“右”選項對應。
8、LeftMargin:以磅為單位返回或設置左邊距的大小。Double 類型,可讀寫。
此屬性與“左”選項對應。
我通過“頁面設置”窗體將頁面上邊距設置成 2,請註意這裏的單位是“厘米”
(也就是說在“頁邊距”選項卡中數據的單位是“厘米”),使用錄制宏會生成如
下的代碼:
.TopMargin = Application.InchesToPoints(0.78740157480315)
這段代碼並不是我們一般思維的代碼寫法,為什麽不是.TopMargin =2 呢?。原
因就是這 6 個屬性的單位都“磅”,那麽“磅“又是什麽單位呢?磅:指打印的
字符的高度的度量單位。1 磅等於 1/72 英寸(即 1 皮卡),或大約等於 1 厘米
的 1/28。
那麽這個“0.78740157480315”又是什麽單位呢?答案是:“英寸”。因此需要進
行單位轉換,InchesToPoints 方法的作用就是將度量單位從英寸轉換為磅。
顯然這種寫法不符合我們國人的習慣,將“厘米”轉換成“英寸”,再轉換成“磅”,
直接將“厘米”轉換成“磅”不是更方便!我們可以使用 CentimetersToPoints 方
法 就 可 以 實 現 “ 厘 米 ” 直 接 轉 “ 磅 ”。 代 碼 寫 成 : .TopMargin
Application.CentimetersToPoints(2)。
三 、 與 “ 頁 眉 / 頁 腳 ” 選 項 卡 對 應 的 屬 性 有 16 個 。 分 別 為 :
OddAndEvenPagesHeaderFooter 、 DifferentFirstPageHeaderFooter 、
ScaleWithDocHeaderFooter 、 AlignMarginsHeaderFooter 、 RightFooter 、
RightFooterPicture 、 CenterFooter 、 CenterFooterPicture 、 LeftFooter 、
LeftFooterPicture 、 RightHeader 、 RightHeaderPicture 、 CenterHeader 、
CenterHeaderPicture、LeftHeader、LeftHeaderPicture
1、OddAndEvenPagesHeaderFooter:如果指定的 PageSetup 對象的奇數頁和偶數
頁具有不同的頁眉和頁腳,則為 True。可讀/寫 Boolean 類型。此屬性與“奇偶頁
不同”選項對應。
2、DifferentFirstPageHeaderFooter:如果在第一頁使用不同的頁眉或頁腳,則為
True。可讀/寫 Boolean 類型。此屬性與“首頁不同”選項對應。
如果屬性為 TRUE,則無法選擇系統設置的頁眉/頁腳樣式。需要使用 FirstPage
屬性設置第一頁的頁眉/頁腳。
3、ScaleWithDocHeaderFooter:返回或設置頁眉和頁腳是否在文檔大小更改時隨
文檔縮放。可讀/寫 Boolean 類型。此屬性與“隨文檔自動縮放”選項對應。
4、AlignMarginsHeaderFooter:如果 Excel 以頁面設置選項中設置的邊距對齊頁
眉和頁腳,則返回 True。可讀/寫 Boolean 類型。此屬性與“與頁邊距對齊”選項對
應。
5、RightFooter:右對齊 PageSetup 對象中的頁腳信息。可讀/寫 String 類型。
可讀/寫 String 類型。此屬性與“自定義頁腳-右”選項對應。
6、RightFooterPicture:返回一個 Graphic 對象,該對象代表頁腳右邊的圖片,用
於設置圖片的屬性。此屬性與“自定義頁腳-右”選項對應。
7、CenterFooter:居中對齊 PageSetup 對象中的頁腳信息。可讀/寫 String 類型。
此屬性與“自定義頁腳-中”選項對應。
8、CenterFooterPicture:返回一個 Graphic 對象,該對象表示頁腳中間部分的圖
片。用於設置圖片的屬性。此屬性與“自定義頁腳-右”選項對應。
9、LeftFooter:左對齊 PageSetup 對象中的頁腳信息。可讀/寫 String 類型。此
屬性與“自定義頁腳-左”選項對應。
10、LeftFooterPicture:返回一個 Graphic 對象,該對象表示頁腳左邊的圖片。用
於設置圖片的屬性。此屬性與“自定義頁腳-左”選項對應。
11、RightHeader:右對齊 PageSetup 對象中的頁眉信息。可讀/寫 String 類型。
此屬性與“自定義頁眉-右”選項對應。
12、RightHeaderPicture:返回一個 Graphic 對象,該對象表示頁眉右邊的圖片。
用於設置圖片的屬性。。此屬性與“自定義頁眉-右”選項對應。
13、CenterHeader:居中對齊 PageSetup 對象中的頁眉信息。可讀/寫 String 類型。
此屬性與“自定義頁眉-中”選項對應。
14、CenterHeaderPicture:返回一個 Graphic 對象,該對象表示頁眉中間部分的圖
片。用於設置圖片的屬性。此屬性與“自定義頁眉-中”選項對應。
15、LeftHeader:左對齊 PageSetup 對象中的頁眉信息。可讀/寫 String 類型。
此屬性與“自定義頁眉-左”選項對應。
16、LeftHeaderPicture:返回一個 Graphic 對象,該對象表示頁眉左邊的圖片。用
於設置圖片的屬性。此屬性與“自定義頁眉-左”選項對應。
以上對屬性的說明與 EXCEL 的幫助不完全相同,因為經過測試幫助中的一些說
明是有錯誤。
四、 與“工作表”選項卡對應的屬性有 11 個。分別為:Draft、PrintErrors、
BlackAndWhite、PrintHeadings、PrintComments、PrintNotes、PrintArea、Order、
PrintGridlines、PrintTitleRows、PrintTitleColumns。
1、Draft:如果打印工作表時不打印其中的圖形,則該屬性值為 True。Boolean
類型,可讀寫。此屬性與“打印-草稿品質”選項對應。
將該屬性設置為 True 可加快打印速度(但是不打印其中的圖形)。
2、PrintErrors:設置或返回一個 XlPrintErrors 常量,該常量指定顯示的打印錯誤
類型。該功能允許用戶在打印工作表時取消錯誤顯示。可讀寫。此屬性與“打印-
錯誤單元格打印為”選項對應。
名稱 值 描述 選項設置值
xlPrintErrorsBlank 1 打印錯誤為空白。 <空白>
xlPrintErrorsDash 2 打印錯誤顯示為劃線。 --
xlPrintErrorsDisplayed 0 顯示全部打印錯誤。 顯示值
xlPrintErrorsNA 3 打印錯誤顯示為不可用。 #N/A
3、BlackAndWhite:如果指定文檔中的元素以黑白方式打印,則該屬性值為 True。
Boolean 類型,可讀寫。此屬性與“打印-單色打印”選項對應。
執行代碼:Worksheets("Sheet1").PageSetup.BlackAndWhite = True,Sheet1 工作表
將以黑白方式打印。
4、PrintHeadings:如果打印本頁時同時打印行標題和列標題,則該值為 True。
僅應用於工作表。Boolean 類型,可讀寫。此屬性與“打印-行號列標”選項對應。
5、PrintComments:返回或設置批註隨工作表打印的方式。XlPrintLocation 類型,
可讀寫。此屬性與“打印-批註”選項對應。
名稱 值 描述 選項設置值
xlPrintInPlace 16 批註打印在其插入工作表的位置。 如同工作表中的顯示
xlPrintNoComments -4142 不打印批註。(默認) (空)
xlPrintSheetEnd 1 批註打印為工作表末尾的尾註。 工作表末尾
6、PrintNotes:如果打印工作表時單元格批註作為尾註一起打印,則該值為True。
僅應用於工作表。Boolean 類型,可讀寫。此屬性與“打印-批註”選項對應。
此屬性設置為 True 與 PrintComments 屬性設置為 xlPrintSheetEnd 效果相同。此
屬性設置為 False 與 PrintComments 屬性設置為xlPrintNoComments 效果相同。
即:
PrintComments=xlPrintSheetEnd 等同於 PrintNotes=True
PrintComments= xlPrintNoComments 等同於 PrintNotes=False
7、PrintArea:以字符串返回或設置要打印的區域,該字符串使用宏語言的 A1
樣式的引用。String 類型,可讀寫。此屬性與“打印區域”選項對應。
將該屬性設置為 False 或空字符串 (""),可打印整個工作表。
Worksheets("Sheet1").PageSetup.PrintArea = "$A$1:$C$5"
8、Order:返回或設置一個 XlOrder 值,它代表 MicrosoftExcel 打印一張大工作
表時所使用的頁編號的次序。此屬性與“打印順序”選項對應。
名稱 值 描述 選項設置值
xlDownThenOver 1 向下處理行,然後向右逐個處理頁或頁面字段。 先列後行
xlOverThenDown 2 向右逐個處理頁或頁面字段,然後向下處理行。 先行後列
9、PrintGridlines:如果在頁面上打印單元格網格線,則該值為 True。僅應用於
工作表。Boolean 類型,可讀寫。此屬性與“打印-網格線”選項對應。
10、PrintTitleRows:返回或設置那些包含在每一頁頂部重復出現的單元格的行,
用宏語言字符串以 A1 樣式表示法表示。String 類型,可讀寫。此屬性與“頂端標
題行”選項對應。
如果僅指定行的一部分,Microsoft Excel 將把該區域擴展為整個行。將該屬性設
置為 False 或空字符串 (""),將會關閉標題行。
11、PrintTitleColumns:返回或設置包含在每一頁的左邊重復出現的單元格的列,
用宏語言 A1-樣式中的字符串表示。String 類型,可讀寫。此屬性與“左端標題行”
選項對應。
如果僅指定列的一部分,Microsoft Excel 將自動把該區域擴展為整個列。(加一
個例子)將該屬性設置為 False 或空字符串 (""),將會關閉標題列。
五、 與選項卡無對應關系的屬性有 7 個。分別為:Application、Creator、
EvenPage、FirstPage、Pages、Parent、ChartSize。
1、Application 如果不使用對象識別符,則該屬性返回一個 Application 對象,該
對象表示 MicrosoftExcel 應用程序。如果使用對象識別符,則該屬性返回一個表
示指定對象(可對一個 OLE 自動操作對象使用本屬性來返回該對象的應用程序)
創建者的 Application 對象。只讀。
執行代碼:ActiveSheet.PageSetup.Application.Name,可以返回應用程序的名稱
“Microsoft Excel”
2、Creator 返回一個 32 位整數,該整數指示在其中創建此對象的應用程序。只
讀 Long 類型。
執行代碼:ActiveSheet.PageSetup.Creator,返回數字 1480803660,相當於十六進
制的 5843454C,即 XCEL 的 ACSII 碼組合。微軟擁有創建 XCEL 的代碼。
3、EvenPage 返回或設置工作簿或節的偶數頁上的文本對齊方式。
EvenPage.LeftHeader.Text 設置偶頁的左頁眉
EvenPage.CenterHeader.Text 設置偶頁的中頁眉
EvenPage.RightHeader.Text 設置偶頁的右頁眉
EvenPage.LeftFooter.Text 設置偶頁的左頁腳
EvenPage.CenterFooter.Text 設置偶頁的中頁腳
EvenPage.RightFooter.Text 設置偶頁的右頁腳
4、FirstPage 返回或設置工作簿或節的第一頁上的文本對齊方式。
FirstPage.LeftHeader.Text 設置第一頁的左頁眉
FirstPage.CenterHeader.Text 設置第一頁的中頁眉
FirstPage.RightHeader.Text 設置第一頁的右頁眉
FirstPage.LeftFooter.Text 設置第一頁的左頁腳
FirstPage.CenterFooter.Text 設置第一頁的中頁腳
FirstPage.RightFooter.Text 設置第一頁的右頁腳
5、Pages 返回或設置 Pages 集合中的頁數。
Pages.Count 代表工作表打印的頁面數量。
6、Parent 返回指定對象的父對象。只讀。
代 表 PageSetup 的 父 對 象 , 也 就 是 WorSheet 對 象 。 運 行 代 碼 :
ActiveSheet.PageSetup.Parent.Name,獲得當前工作表的名稱。
7、ChartSize 返回或設置圖表為適應頁面大小而進行縮放的方式。
本示例設置“Chart1”中央標題的文字。
Charts("Chart1").PageSetup.CenterHeader = "December Sales"


名稱 說明 版本







1 Draft
如果打印工作表時不打印
其中的圖形,則該屬性值為
True。Boolean 類型,可讀
寫。





-

稿


2 PrintErrors
設置或返回一個
XlPrintErrors 常量,該常
量指定顯示的打印錯誤類
型。該功能允許用戶在打印
工作表時取消錯誤顯示。可
讀寫。





-








3 BlackAndWhite
如果指定文檔中的元素以
黑白方式打印,則該屬性值
為 True。Boolean 類型,
可讀寫。





-




4 PrintHeadings
如果打印本頁時同時打印
行標題和列標題,則該值為
True。僅應用於工作表。
Boolean 類型,可讀寫。





-




5 PrintComments
返回或設置批註隨工作表
打印的方式。
XlPrintLocation 類型,可
讀寫。





-


6 PrintNotes
如果打印工作表時單元格
批註作為尾註一起打印,則
該值為 True。僅應用於工
作表。Boolean 類型,可讀
寫。





-


7 PrintArea
以字符串返回或設置要打
印的區域,該字符串使用宏
語言的 A1 樣式的引用。
String 類型,可讀寫。







8 Order
返回或設置一個 XlOrder
值,它代表 Microsoft
Excel 打印一張大工作表
時所使用的頁編號的次序。







9 PrintGridlines
如果在頁面上打印單元格
網格線,則該值為 True。
僅應用於工作表。Boolean
類型,可讀寫。





-



10 PrintTitleRows
返回或設置那些包含在每
一頁頂部重復出現的單元
格的行,用宏語言字符串以
A1 樣式表示法表示。
String 類型,可讀寫。








11 PrintTitleColumns
返回或設置包含在每一頁
的左邊重復出現的單元格
的列,用宏語言 A1-樣式中
的字符串表示。String 類
型,可讀寫。








12 Application
如果不使用對象識別符,則
該屬性返回一個
Application 對象,該對象
表示 Microsoft Excel 應
用程序。如果使用對象識別
符,則該屬性返回一個表示
指定對象(可對一個 OLE
無 無
自動操作對象使用本屬性
來返回該對象的應用程序)
創建者的 Application 對
象。只讀。
13 Creator
返回一個 32 位整數,該整
數指示在其中創建此對象
的應用程序。只讀 Long 類
型。
無 無
14 EvenPage
返回或設置工作簿或節的
偶數頁上的文本對齊方式。
2007 無 無
15 FirstPage
返回或設置工作簿或節的
第一頁上的文本對齊方式。
2007 無 無
16 Pages
返回或設置 Pages 集合中
的頁數。
2007 無 無
17 Parent
返回指定對象的父對象。只
讀。
無 無
18 ChartSize
返回或設置圖表為適應頁
面大小而進行縮放的方式。
2003 無 無



19 CenterVertically
如果在頁面的垂直居中位
置打印指定工作表,則該屬
性值為 True。Boolean 類
型,可讀寫。







-


20 CenterHorizontally
如果在頁面的水平居中位
置打印指定工作表,則該屬
性值為 True。Boolean 類
型,可讀寫。







-


21 TopMargin
以磅為單位返回或設置上
邊距的大小。Double 類型,
可讀寫。




22 BottomMargin
以磅為單位返回或設置底
端邊距的大小。Double 類
型,可讀寫。




23 FooterMargin
以磅為單位返回或設置頁
腳到頁面底端的距離。
Double 類型,可讀寫。





24 HeaderMargin 以磅為單位返回或設置頁 頁 頁
面頂端到頁眉的距離。
Double 類型,可讀寫。



25 RightMargin
以磅為單位返回或設置右
邊距的大小。Double 類型,
可讀寫。




26 LeftMargin
以磅為單位返回或設置左
邊距的大小。Double 類型,
可讀寫。




27 OddAndEvenPagesHeaderFooter
如果指定的 PageSetup 對
象的奇數頁和偶數頁具有
不同的頁眉和頁腳,則為
True。可讀/寫 Boolean 類
型。
2007


/







28 DifferentFirstPageHeaderFooter
如果在第一頁使用不同的
頁眉或頁腳,則為 True。
可讀/寫 Boolean 類型。
2007


/






29 ScaleWithDocHeaderFooter
返回或設置頁眉和頁腳是
否在文檔大小更改時隨文
檔縮放。可讀/寫 Boolean
類型。
2007


/









30 AlignMarginsHeaderFooter
如果 Excel 以頁面設置選
項中設置的邊距對齊頁眉
和頁腳,則返回 True。可
讀/寫 Boolean 類型。
2007


/








31 RightFooter
右對齊 PageSetup 對象中
的頁腳信息。可讀/寫
String 類型。


/







-





32 RightFooterPicture
返回一個 Graphic 對象,
該對象代表頁腳右邊的圖
片,用於設置圖片的屬性。


/











-

33 CenterFooter
居中對齊 PageSetup 對象
中的頁腳信息。可讀/寫
String 類型。


/







-





34 CenterFooterPicture
返回一個 Graphic 對象,
該對象表示頁腳中間部分
的圖片。用於設置圖片的屬
性。


/







-





35 LeftFooter
左對齊 PageSetup 對象中
的頁腳信息。可讀/寫
String 類型。


/







-





36 LeftFooterPicture
返回一個 Graphic 對象,
該對象表示頁腳左邊的圖
片。用於設置圖片的屬性。


/







-





37 RightHeader
右對齊 PageSetup 對象中
的頁眉信息。可讀/寫
String 類型。


/







-





38 RightHeaderPicture
返回一個 Graphic 對象,
該對象表示頁眉右邊的圖
片。用於設置圖片的屬性。


/







-





39 CenterHeader
居中對齊 PageSetup 對象
中的頁眉信息。可讀/寫
String 類型。


/







-





40 CenterHeaderPicture
返回一個 Graphic 對象,
該對象表示頁眉中間部分
的圖片。用於設置圖片的屬
性。


/







-





41 LeftHeader
左對齊 PageSetup 對象中
的頁眉信息。可讀/寫
String 類型。


/







-





42 LeftHeaderPicture
返回一個 Graphic 對象,
該對象表示頁眉左邊的圖
片。用於設置圖片的屬性。


/







-





43 PrintQuality
返回或設置打印質量。
Variant 類型,可讀寫。






44 Orientation
返回或設置一個
XlPageOrientation 值,它
代表縱向或橫向打印模式。




45 FirstPageNumber
返回或設置打印指定工作
表時第一頁的頁號。如果設
為 xlAutomatic,則
Microsoft Excel 采用第
一頁的頁號。默認值為
xlAutomatic。Long 類型,
可讀寫。






46 Zoom 返回或設置一個 Variant 頁 縮
值,它代表一個數值在 10%
到 400% 之間的百分比,該
百分比為 Microsoft
Excel 打印工作表時的縮
放比例。
面 放


47 FitToPagesWide
返回或設置打印工作表時,
對工作表進行縮放使用的
頁寬。僅應用於工作表。
Variant 類型,可讀寫。




-


48 FitToPagesTall
返回或設置打印工作表時,
對工作表進行縮放使用的
頁高。僅應用於工作表。
Variant 類型,可讀寫。




-


49 PaperSize
返回或設置紙張的大小。
XlPaperSize 類型,可讀
寫。





vba,設置,excel,wps ,頁面設置