最近同事問到這個問題,小弟一樣去找解答,分享一下測試心得
首先準備好兩個測試的word檔(1.doc,2.doc)放在c槽裡,執行完程式就產生3.doc的合併檔了
WinForm(C#)
WordCombine.cs
02 | usingSystem.Collections.Generic; |
03 | usingSystem.ComponentModel; |
07 | usingSystem.Windows.Forms; |
08 | usingWord = Microsoft.Office.Interop.Word; |
09 | usingSystem.Reflection; |
11 | namespaceWindowsApplication1 |
13 | publicpartialclassWordCombine : Form |
17 | InitializeComponent(); |
20 | privatevoidWordCombine_Load(objectsender, EventArgs e) |
22 | objectmissing = Missing.Value; |
23 | stringoFirstDoc =@"c:\1.doc"; |
24 | objectoSecondDoc =@"c:\2.doc"; |
25 | objectoOutputDoc =@"c:\3.doc"; |
28 | objectoPageBreak = Word.WdBreakType.wdPageBreak; |
30 | Word.Application wordApp =newWord.Application(); |
31 | Word.Document origDoc = wordApp.Documents.Open(refoSecondDoc,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing); |
33 | wordApp.Selection.InsertFile(oFirstDoc,refmissing,refmissing,refmissing,refmissing); |
34 | wordApp.Selection.InsertBreak(refoPageBreak); |
35 | wordApp.ActiveDocument.SaveAs(refoOutputDoc,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,refmissing); |
36 | wordApp.ActiveDocument.Close(refmissing,refmissing,refmissing); |
37 | wordApp.Quit(refmissing,refmissing,refmissing); |
執行結果:
原始word檔→1.doc,2.doc

合併word檔→接下行合併(LineBreak)

合併word檔→接下頁合併(PageBreak)

參考網址:
http://bytes.com/forum/thread236890.html