/// <summary> /// 循环合并多个文件(复制合并重复的文件) /// </summary> /// <param name="tempDoc">模板文件</param> /// <param name="arrCopies">需要合并的文件</param> /// <param name="outDoc">合并后的输出文件</param> public void CopyMerge(string tempDoc, string[] arrCopies, string outDoc) { object objMissing = Missing.Value; object objFalse = false; object objTarget = Word.WdMergeTarget.wdMergeTargetSelected; object objUseFormatFrom = Word.WdUseFormattingFrom.wdFormattingFromSelected; try { //打开模板文件 Open(tempDoc); foreach (string strCopy in arrCopies) { objDocLast.Merge( strCopy, //FileName ref objTarget, //MergeTarget ref objMissing, //DetectFormatChanges ref objUseFormatFrom, //UseFormattingFrom ref objMissing //AddToRecentFiles ); objDocBeforeLast = objDocLast; objDocLast = objApp.ActiveDocument; if (objDocBeforeLast != null) { objDocBeforeLast.Close( ref objFalse, //SaveChanges ref objMissing, //OriginalFormat ref objMissing //RouteDocument ); } } //保存到输出文件 SaveAs(outDoc); foreach (Word.Document objDocument in objApp.Documents) { objDocument.Close( ref objFalse, //SaveChanges ref objMissing, //OriginalFormat ref objMissing //RouteDocument ); } } catch (Exception ex) { throw new Exception(ex.Message); } finally { objApp.Quit( ref objMissing, //SaveChanges ref objMissing, //OriginalFormat ref objMissing //RoutDocument ); objApp = null; } }