嚮導
Word 2010 Bible 上說有的模板,在基於它新建文件時,可以彈出一個新建嚮導。然後,我就特別地想實現這個功能,比如新建若干個節,新建目錄等。
跑到 http://word.mvps.org 上搜索了下,果然有方法,簡單的說就是 在模板工程的ThisDocument中,新建一個Document_New()過程,並實現之。複雜地說就是:
- 雙擊 ThisDocument
- 在右邊打開的編輯區上方有兩個組合框,選擇左邊那個框中的 Document,你會發現Word自動新建一個Document_New過程
- 添加自定義Form,做成嚮導即可
頁面設置
嚮導做完以後,一般來說需要進行頁面設置。我看了半天幫助文件,瞭解了Section.PageSetup的各成員,好不容易纔搞定,後來發現只需要找個空文件,按頁面設置要求,錄製一個宏,然後拷貝一下即可。
值得說明的是:頁面設置最後一頁裏,網格的每頁的行數和跨度,在VBA中只能設置LinesPage,Word會根據這個值計算跨度=(PageHeight-TopMargin-BottomMargin)/LinesPage,用戶可以在頁面設置中修改跨度,並且Word也會作出響應(即一頁可以不剛好是整數行),但是VBA做不到這一點,很讓人崩潰~~
頁眉和頁腳
頁眉和頁腳由Section.Headers和Section.Footers來設置,
- wdHeaderFooterPrimary:奇數頁
- wdHeaderFooterEvenPages:偶數頁
- wdHeaderFooterFirstPage:首頁
頁腳中可以添加頁碼,頁碼用域 {Page} 來表示,要控制頁碼的樣式或者重新編號,就需要用到
- Section.Footers.PageNumbers.RestartNumberingAtSection:是否在這節重新開始編號
- Section.Footers.PageNumbers.StartingNumber:編號開始
- Section.Footers.PageNumbers.NumberStyle:編號樣式
注意:不需要Section.Footers.PageNumbers.Add 方法來添加頁碼,直接在 Footers(index).Range中添加Page域即可
注意:從第2節開始中需要設置頁眉頁腳的 LinkToPrevious 屬性,並且在設置 Range屬性時,需要先調用 Range.Delete,不然會有上一節的頁眉頁腳內容
添加目錄與目錄更新
添加目錄和更新目錄比較特殊,直接插入和更新TOC域貌似不太好使。
添加目錄:ActiveDocument.TablesOfContents.Add
更新目錄:ActiveDocument.TablesOfContents(1).Update