예제 #1
0
        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);
            }
        }
예제 #2
0
        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
                       );
        }
예제 #3
0
        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);
            }
        }
예제 #5
0
        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());
        }