C#操作合併多個Word文檔

首先將word文檔路徑保存在List中,新建一個word文檔對象並循環List打開對應的word,之後拷貝文檔,在新文檔中粘貼並且粘貼前先插入換行符。最後保存新文檔,並銷燬進程。
protected void Button1_Click(object sender, EventArgs e)    

  {    

  // object worPath = @"C:\";    

  object path = @"C:\Test合併word.doc";    

  List<string> pathList = new List<string>();    

  pathList.Add(@"C:\word1.doc");    

  pathList.Add(@"C:\word2.doc");    

  object objDocType = WdDocumentType.wdTypeDocument;    

  object type = WdBreakType.wdSectionBreakContinuous;    

  Application wordApp; //Word應用程序變量    

  Document newWordDoc; //Word文檔變量    

  object readOnly = false;    

  object isVisible = false;    

  wordApp = new ApplicationClass(); //初始化    

  //由於使用的是COM庫,因此有許多變量需要用Missing.Value代替    

  Object Nothing = Missing.Value;    

  //wordDoc = wordApp.Documents.Add(ref Nothing, ref Nothing, ref Nothing, ref Nothing);    

  newWordDoc = wordApp.Documents.Add(ref Nothing, ref Nothing, ref Nothing, ref Nothing);    

  for (int i = 0; i < pathList.Count; i++)    

  {    

  Document openWord;    

  object obj = pathList[i];    

  openWord = wordApp.Documents.Open(ref obj, ref Nothing, ref readOnly, ref Nothing,    

  ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing,    

  ref Nothing, ref isVisible, ref Nothing, ref Nothing, ref Nothing, ref Nothing);    

  openWord.Select();    

  openWord.Sections[1].Range.Copy();    

  //string str= Clipboard.GetText(TextDataFormat.Text);    

  // str+="\n\n";    

  // Clipboard.SetData(DataFormats.Text, str);    

  object start = 0;    

  Range newRang = newWordDoc.Range(ref start, ref start);    

  newWordDoc.Sections[1].Range.InsertBreak(ref type);//插入換行符    

  newWordDoc.Sections[1].Range.PasteAndFormat(WdReco veryType.wdPasteDefault);    

  openWord.Close(ref Nothing, ref Nothing, ref Nothing);    

  }    

  object format = WdSaveFormat.wdFormatDocument;//.wdFormatDocumentD efault;    

  //將wordDoc文檔對象的內容保存爲DOCX文檔    

  newWordDoc.SaveAs(ref path, ref format, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing);    

  //關閉wordDoc文檔對象    

  newWordDoc.Close(ref Nothing, ref Nothing, ref Nothing);    

  //關閉wordApp組件對象    

  wordApp.Quit(ref Nothing, ref Nothing, ref Nothing);    

  Console.WriteLine(path + " 創建完畢!");    

  Console.ReadLine();    

  }    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章