[文件] Word 檔案交叉合併的小程式

看板Office作者 (雨)時間15年前 (2010/12/29 22:32), 編輯推噓3(305)
留言8則, 2人參與, 最新討論串1/1
我原本的需求:有 A, B 兩份 Word 檔,兩個檔案 直/橫書格式 與頁數皆一樣 現要合併成 A1, B1, A2, B2, ……, An, Bn 這樣的新檔案。 不知道是我自己不太會用 word 功能還是內建的做不到交叉合併。 @@" 所以我寫了底下的 VBScript 小程式來處理交叉合併的動作。 我使用的 Office 版本是: Office XP (Word) 以下說明這個小程式的動作 (使用前,請先自行備份檔案!! 若有問題本人不負任何責任) 1. 讀取 A.doc , B.doc 兩個檔 2. 建立一個新的 Word 檔 3. 開始讀取頁面並且貼到新檔 ╭→ 3-1. 剪下 A.doc 的第 1 頁 | 3-2. 貼到 新檔 並在尾端插入分頁符號 | 3-3. 剪下 B.doc 的第一頁 | 3-4. 貼到 新檔 並在尾端插入分頁符號 ╰— 3-5. 跳回 3-1. 4. 合併完成後,關閉 A, B 兩個檔案。 4.1 新檔儲存為 AB-Merge.doc 4.2 結束 Word.Application 5. 跳出完成訊息通知使用者。 6. 結束本程式 -------------------------8<--------------------- (複製虛線內容另存 vbs 檔) ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' 使用注意事項: ' 1. 使用前請先修改黃色字串為 A.doc, B.doc 所在資料夾的路徑。 ' 2. 本程式沒有任何意外處理,若執行時出錯。請叫出工作管理員 ' 將 WINWORD.EXE 手動關閉。然後再重新執行一次本檔案 ' 3. 執行本程式前,建議先關閉任何 Word 視窗。 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' word Dim word : Set word = CreateObject("Word.Application") Dim sel : Set sel = word.Selection ' 文件 Dim docPath : docPath = "文件所在資料夾的路徑" Dim doc1, doc2, doc3 Dim i Set doc1 = word.Documents.Open(docPath & "\A.doc") Set doc2 = word.Documents.Open(docPath & "\B.doc") Set doc3 = word.Documents.Add ' 將 A.doc 的直/橫書格式 複製到 AB-Merge.doc 上 doc3.Range.Orientation = doc1.Range.Orientation For i = 1 to doc1.BuiltInDocumentProperties("Number of Pages") doc1.Activate doc1.Bookmarks("\page").Range.Cut doc3.Activate word.Selection.Paste word.Selection.InsertBreak 7 doc2.Activate doc2.Bookmarks("\page").Range.Cut doc3.Activate word.Selection.Paste word.Selection.InsertBreak 7 Next doc1.Close 0 doc2.Close 0 doc3.SaveAs """" & docPath & "\AB-Merge.doc""" doc3.Close 0 word.quit Msgbox "合併完成。" & "檔案位置:""" & docPath & "\AB-Merge.doc""" WScript.quit -------------------------8<--------------------- (複製虛線內容另存 vbs 檔) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.204.46.87

12/30 10:58, , 1F
囧 試不出來 AB-Merge.doc打開是空的 0.oa (03/07板)
12/30 10:58, 1F

12/30 11:14, , 2F
樓上可以來信告訴我操作過程嗎?
12/30 11:14, 2F

12/30 11:22, , 3F
操作過程就是 建立 A.doc B.doc 在c槽,然後各打三頁的字
12/30 11:22, 3F

12/30 11:23, , 4F
文件所在資料夾的路徑 設c:
12/30 11:23, 4F

12/30 11:24, , 5F
把程式代碼存成 test.vbs 檔 (檔案類型:所有檔案)
12/30 11:24, 5F

12/30 11:24, , 6F
執行後有產生AB-Merge.doc,但是是空的頁面
12/30 11:24, 6F
OK, 已修正好了。你再試一次 :p ※ 編輯: hpo14 來自: 123.204.46.87 (12/30 11:51)

12/30 11:51, , 7F
已修正
12/30 11:51, 7F

12/30 11:59, , 8F
可以了,感謝分享
12/30 11:59, 8F
文章代碼(AID): #1D6qQ7AY (Office)
文章代碼(AID): #1D6qQ7AY (Office)