public void MergeDoc(string outPutFilePath, params string[] filePath) { object oMissing = System.Reflection.Missing.Value; object oObject = System.Reflection.Missing.Value; Word.ApplicationClass oWord = new Word.ApplicationClass(); Word._Document oDoc = null; oWord.Visible = false; Word.Documents oDocs = oWord.Documents; try { oDoc = oDocs.Add(ref oMissing, ref oMissing, ref oMissing, ref oMissing); foreach (string fs in filePath) { if (File.Exists(fs)) { oWord.Selection.InsertFile(fs, ref oObject, ref oObject, ref oObject, ref oObject); object obj = Word.WdBreakType.wdPageBreak; //oWord.Selection.InsertBreak(ref obj); } } object objFinalFile = (object)outPutFilePath; oDoc.SaveAs(ref objFinalFile, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing); } catch (Exception e) { } finally { oDoc.Close(ref oMissing, ref oMissing, ref oMissing); } }
public static void WordSaveAs(Word._Document doc, string fileName) { object name = fileName; doc.SaveAs(ref name, ref ObjMissing, ref ObjMissing, ref ObjMissing, ref ObjMissing, ref ObjMissing, ref ObjMissing, ref ObjMissing, ref ObjMissing, ref ObjMissing, ref ObjMissing #if OFFICE2003 , ref ObjMissing, ref ObjMissing, ref ObjMissing, ref ObjMissing, ref ObjMissing #endif ); }
public static void WordSaveAsRtf(Word._Document doc, string fileName) { object name = fileName; object format = Word.WdSaveFormat.wdFormatRTF; doc.SaveAs(ref name, ref format, ref ObjMissing, ref ObjMissing, ref ObjMissing, ref ObjMissing, ref ObjMissing, ref ObjMissing, ref ObjMissing, ref ObjMissing, ref ObjMissing #if OFFICE2003 , ref ObjMissing, ref ObjMissing, ref ObjMissing, ref ObjMissing, ref ObjMissing #endif ); }
public static void CombineWord(string fileToMerge1, string fileToMerge2, string outputFilename) { object missing = System.Type.Missing; object pageBreak = Word.WdBreakType.wdPageBreak; object outputFile = outputFilename; // Create a new Word application Word._Application wordApplication = new Word.Application(); try { Word._Document wordDocument = wordApplication.Documents.Open( fileToMerge1 , ref missing , ref missing , ref missing , ref missing); Word.Selection selection = wordApplication.Selection; wordDocument.Merge(fileToMerge2, ref missing, ref missing, ref missing, ref missing); // Save the document to it's output file. wordDocument.SaveAs( ref outputFile , ref missing , ref missing , ref missing , ref missing , ref missing , ref missing , ref missing , ref missing , ref missing , ref missing , ref missing , ref missing , ref missing , ref missing , ref missing); wordDocument = null; } catch (Exception ex) { //I didn't include a default error handler so i'm just throwing the error throw ex; } finally { wordApplication.Quit(ref missing, ref missing, ref missing); } }
public string CopyToWord() { object filename = @"C:\" + System.DateTime.Now.ToFileTime() + ".doc"; Word._Application application = new Word.ApplicationClass(); Word._Document document = application.Documents.Add(ref missing, ref missing, ref missing, ref missing); foreach (Excel.Worksheet sheet in wbb.Sheets) { if (sheet.Index == wbb.Sheets.Count) { continue; } for (int i = 1; i < sheet.UsedRange.Rows.Count; i++) { Word.Paragraph para = document.Paragraphs.Add(ref missing); string text = ""; for (int j = 1; j < sheet.UsedRange.Columns.Count; j++) { Excel.Range range = (Excel.Range)sheet.Cells[i, j]; if (range.Value2 != null) { text += range.Value2.ToString() + "\t"; if (range.Value2.ToString().StartsWith("#picture")) { string[] value = System.Text.RegularExpressions.Regex.Split(range.Value2.ToString(), "_"); Excel.Shape shape = sheet.Shapes.Item(int.Parse(value[1])) as Excel.Shape; shape.CopyPicture(Excel.XlPictureAppearance.xlScreen, Excel.XlCopyPictureFormat.xlBitmap); Word.Paragraph picture = document.Paragraphs.Add(ref missing); picture.Range.Paste(); picture.Format.CharacterUnitFirstLineIndent = 2; picture.Range.InsertParagraphAfter(); text = ""; i += int.Parse(value[2]) - 1; break; } } } para.Range.Text = text; para.Format.CharacterUnitFirstLineIndent = 2; para.Range.InsertParagraphAfter(); } } document.SaveAs(ref filename, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing); document.Close(ref missing, ref missing, ref missing); application.Quit(ref missing, ref missing, ref missing); return(filename.ToString()); }