萬盛學電腦網

 萬盛學電腦網 >> Wps Office >> wps綜合教程 >> WPS頁眉和頁腳操作技巧

WPS頁眉和頁腳操作技巧

   1. 引言

  在日常的WPS文字二次開發中,經常會涉及到操作頁眉和頁腳的情況。如:添加、刪除、修改頁眉和頁腳中的文字、圖形和圖像等,

  本文通過WPS文字提供的二次開發接口,以WPS為基礎,同時兼顧Word來介紹其中的用法。

  注意:WPS雖然與Word非常相似,但也有自身的一些特點。

  2. 簡介

  設置頁眉和頁腳時,可能會涉及到與“頁面設置”和“域”的知識。影響到頁眉和頁腳的設置如下圖:

WPS頁眉和頁腳操作技巧  三聯

  2.1. 節、頁面設置、頁碼域

  節:通常以為文檔的下一個對象是節(即Application->Documents->Sections),頁眉和頁腳可以在不同的節中進行不同的設置。

  頁面設置:

  奇偶頁不同:此功能為方便設置類似於書籍的“頁眉和頁腳”,如字典。

  首頁不同:此功能為方便設置首頁為封面而設置。(注:通常封面不顯示頁碼)

  域:如果在頁眉和頁腳中插入了頁碼域(即,如果你做了如下的操作:插入、頁碼,這樣插入的頁碼就是一個域,與,在輸入page是一樣的域),則每頁的頁碼會根據當前所在頁而改變。

  2.2. 讀取頁眉和頁腳的內容

  下面以頁眉來介紹,頁腳只要將Headers改為Footers即可,其他知識完全一樣。

  通常的方法是:

  ActiveDocument.Sections(1).Headers(wpsHeaderFooterPrimary).Range.Text

  注:這裡的wpsHeaderFooterPrimary可以取得枚舉值及描述如下:

  名稱 值 描述

  wpsHeaderFooterEvenPages 3 返回偶數頁上的所有頁眉或頁腳

  wpsHeaderFooterFirstPage 2 返回文檔或節中的第一個頁眉或頁腳

  wpsHeaderFooterPrimary 1 返回文檔或節中除第一頁外所有頁上的頁眉或頁腳

  針對“頁面設置”的不同,所以,對讀取頁眉中的內容細分如下:

  2.2.1. 在頁面設置中勾選了“奇偶頁不同”

  讀取偶數頁的內容:

  ActiveDocument.Sections(1).Headers(wpsHeaderFooterEvenPages).Range.Text

  讀取奇數頁的內容:

  可以使用:

  ActiveDocument.Sections(1).Headers(wpsHeaderFooterPrimary).Range.Text

  注意:

  如果頁眉中設置了動態的內容,如第*頁(“*”代表是一個根據頁碼自動更新的數字),則讀出的內容:

  這裡與Word的差異:

  1. Word:是根據當前光標的位置而定(如:光標放在第2頁,則wdHeaderFooterEvenPages讀出的是第2頁的頁眉內容,如果在第4頁,則讀出的是第4頁的內容,如果光標在第3頁,則讀出什麼有時是2頁,有時是4頁,規律不細說)。

  2. WPS:讀取的就是第一個匹配的頁眉(如:wpsHeaderFooterEvenPages讀的就是第2頁的內容;wpsHeaderFooterPrimary則是第1頁或者第3頁的內容)。

  2.2.2. 在頁面設置中勾選了“首頁不同”

  讀取第一頁的內容:

  ActiveDocument.Sections(1).Headers(wpsHeaderFooterFirstPage).Range.Text

  讀取除第一頁的內容:

  ActiveDocument.Sections(1).Headers(wpsHeaderFooterPrimary).Range.Text

  2.3. 刪除、修改頁眉的內容

  與上面同理,通常用(其他情況,請參考上面的方法):

  ActiveDocument.Sections(1).Headers(wpsHeaderFooterPrimary).Range.Text="KingSoft"

  3. 操作頁眉中的圖形或圖像

  3.1. 讀取頁眉中的圖形或圖像

  讀取頁眉與頁腳中的所有圖形(不包含嵌入式圖片):

  ActiveDocument.Sections(1).Headers(wpsHeaderFooterPrimary).Shapes.Count

  也可以用:wpsHeaderFooterFirstPage、wpsHeaderFooterEvenPages此處三個讀出的結果完全相同。

  讀取在頁面設置中勾選了“首頁不同”中的頁眉中的圖形(不包含嵌入式圖片):

  ActiveDocument.Sections(1).Headers(wpsHeaderFooterFirstPage).Range.ShapeRange.Count

  其他的偶數頁等與其類似。

  注意:

  大多數情況應該使用.Range.ShapeRange.Count來操作圖形。

  3.2. 添加一個圖形到頁眉中且左對齊

  注意:

  以下代碼僅供演示使用,不對可能存在的任何問題負任何責任。

  要運行以下代碼,必須滿足兩個文件:

  1. 假設有C:tempafter.gif文件;

  2. 已經可以切換到頁眉與頁腳中一次,即已有頁眉與頁腳信息,即至少有一個回車符,如下圖(Word不需要這個條件)。

WPS頁眉和頁腳操作技巧

  示例代碼1:'添加圖片到頁眉中的且左對齊

  Sub AddPicturetoHeaderToLeft()

  Dim myleft, mytop

  myleft = ActiveDocument.Sections(1).PageSetup.LeftMargin

  mytop = ActiveDocument.Sections(1).PageSetup.HeaderDistance

  ActiveDocument.Sections(1).Headers(wpsHeaderFooterPrimary).Shapes.Addpicture _

  "C:tempafter.gif", Left:=myleft, Top:=mytop

  End Sub

  示例代碼2:'添加圖片到頁眉中的且右對齊

  Sub AddPicturetoHeaderToRight()

  Dim myleft, mytop

  Dim tempshape As Shape

  mytop = ActiveDocument.Sections(1).PageSetup.HeaderDistance

  myleft = ActiveDocument.Sections(1).PageSetup.PageWidth - ActiveDocument.Sections(1).PageSetup.RightMargin

  Set tempshape = ActiveDocument.Sections(1).Headers(wpsHeaderFooterPrimary).Shapes.Addpicture _

  ("C:tempafter.gif", Left:=myleft, Top:=mytop)

  tempshape.Left = tempshape.Left - tempshape.Width

  End Sub

  示例代碼3:'添加圖片到頁眉中的且右對齊

  Sub AddPicturetoFooterToLeft()

  Dim myleft, mytop

  myleft = ActiveDocument.Sections(1).PageSetup.LeftMargin

  mytop = ActiveDocument.Sections(1).PageSetup.PageHeight - ActiveDocument.Sections(1).PageSetup.BottomMargin

  mytop = mytop + (ActiveDocument.Sections(1).PageSetup.BottomMargin - ActiveDocument.Sections(1).PageSetup.FooterDistance)

  mytop = mytop - 11

  ActiveDocument.Sections(1).Footers(wpsHeaderFooterPrimary).Shapes.Addpicture _

  "C:tempafter.gif", Left:=myleft, Top:=mytop

  End Sub

  4. 注意事項

  1. 如果通過“插入”、“頁碼”的形式插入了一個頁碼,則從“視圖”、“頁眉和頁腳”進入視圖時,光標默認會在頁碼的圖文框中,這個可能會影響到用戶通過API切換視圖來編輯頁眉與頁腳的情況。

WPS頁眉和頁腳操作技巧

  2. 頁眉與頁腳(包括正文)中插入圖形時,ShapeRange的順序與Shapes的順序是不一樣的。

  通常應該使用Shapes來取最後一個插入的圖形:

  ActiveDocument.Sections(1).Headers(wpsHeaderFooterPrimary).Shapes(ActiveDocument.Sections(1).Headers(wpsHeaderFooterPrimary).Shapes.Count).Select

  5. 參考

  更多的API操作,請參閱 WPS API 幫助文檔。

  6. 適用范圍

  適用於 WPS Office 2009(1705)以上版本

copyright © 萬盛學電腦網 all rights reserved