Const wdPageBreak = 7
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
Set objDoc = objWord.Documents.Add()
Set objSelection = objWord.Selection
Set FileList = objWMIService.ExecQuery _
("ASSOCIATORS OF {Win32_Directory.Name='C:\Scripts\Archive'} Where " _
& "ResultClass = CIM_DataFile")
For Each objFile in FileList
objSelection.InsertFile(objFile.Name)
objSelection.InsertBreak(wdPageBreak)
Next
由於大部分的指令碼只是複製了插入多個檔案的部分,這裡不加逐行贅述 (好奇的讀者不妨看看原先專欄)。我們把精力放在兩個更動上面。
先是定義一個名為 wdPageBreak 的常數,並且將值設為 7,之後會使用此常數告知 Word 在呼叫 InsertBreak 方法時插入一個分頁符號 (各位應該也知道,Word 允許您插入各種分隔符號,例如分欄符號、文字換行分隔符號以及各種分節符號。)
然後我們用一些程式碼繫結到本機電腦的 WMI 服務,建立一個新的 Microsoft Word 文件,再使用 Associators Of 查詢擷取 C:\Scripts\Archive 資料夾內所有的檔案集合。取得檔案集合後,我們設定一個 For Each 迴圈處理該集合,並使用 InsertFile 插入每一個檔案。
這裡是本指令碼和原先的那一份第二個不同之處。我們在原先的指令碼中呼叫 InsertFile 方法,然後使用 TypeParagraph() 模擬在鍵盤上按下 ENTER 鍵的結果。而在本指令碼的 For Each 迴圈看起來像這樣:
For Each objFile in FileList
objSelection.InsertFile(objFile.Name)
objSelection.InsertBreak(wdPageBreak)
Next
如您所見,插入第一個檔案後我們呼叫 InsertBreak 方法,指定插入一個分頁符號。插入分頁符號後再跑一次迴圈,插入集合裡的第二個檔案。最後的結果就是匯入文件內的每個檔案中間都有一個分頁符號。
這樣看起來好多了。反正今天來也來了,就做多一點事情吧。我們改寫過的指令碼不僅會在每個檔案間插入分頁符號,還會在每個分頁符號後輸入檔案路徑,路徑格式以 14 級 Arial 字型呈現 (其餘文字為 10 級 Arial 字型)。下面就是我們附贈的指令碼:
Const wdPageBreak = 7
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
Set objDoc = objWord.Documents.Add()
Set objSelection = objWord.Selection
Set FileList = objWMIService.ExecQuery _
("ASSOCIATORS OF {Win32_Directory.Name='C:\Scripts\Archive'} Where " _
& "ResultClass = CIM_DataFile")
objSelection.Font.Name = "Arial"
For Each objFile in FileList
objSelection.Font.Size = "14"
objSelection.TypeText objFile.Name
objSelection.TypeParagraph()
objSelection.Font.Size = "10"
objSelection.InsertFile(objFile.Name)
objSelection.InsertBreak(wdPageBreak)
Next
附註:如需在 Word 文件格式化文字的詳細資訊,請參閱 Office Space 每週專欄內有關 Microsoft Word 的文章。 |
還挺好玩的,乾脆每年 5 月 3 日都工作好了,稍微勤勞一點吧!
嗯,考慮一下...... |