C# word 替换

private void CreateOneRiZhi(string newPath, string theDate, string info)
        {
            System.IO.File.Copy(System.Windows.Forms.Application.StartupPath + @"\template\项目日志.docx", newPath, true);

            object oMissing = System.Reflection.Missing.Value;
            Microsoft.Office.Interop.Word._Application oWord = new Microsoft.Office.Interop.Word.Application();
            oWord.Visible = true;
            Microsoft.Office.Interop.Word._Document oDoc;
            //oDoc = oWord.Documents.Add(ref oMissing, ref oMissing, ref oMissing, ref oMissing);
            object oNewPath = (object)newPath;
            object readOnly = false;
            object isVisible = true;
            object objFalse = false;

            oDoc = oWord.Documents.Open(ref oNewPath, ref oMissing, ref readOnly, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref isVisible, ref oMissing, ref oMissing, ref oMissing, ref oMissing);
            oDoc.Activate();

            object replaceAll = WdReplace.wdReplaceAll;
            oWord.Selection.Find.ClearFormatting();
            oWord.Selection.Find.Text = "a";
            oWord.Selection.Find.Replacement.ClearFormatting();
            oWord.Selection.Find.Replacement.Text = "项目日志";

            oWord.Selection.Find.Execute(
                ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
                ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
                ref replaceAll, ref oMissing, ref oMissing, ref oMissing, ref oMissing);


            oWord.Selection.Find.ClearFormatting();
            oWord.Selection.Find.Text = "b";
            oWord.Selection.Find.Replacement.ClearFormatting();
            oWord.Selection.Find.Replacement.Text = theDate;

            oWord.Selection.Find.Execute(
                ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
                ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
                ref replaceAll, ref oMissing, ref oMissing, ref oMissing, ref oMissing);



            oWord.Selection.Find.ClearFormatting();
            oWord.Selection.Find.Text = "c";
            oWord.Selection.Find.Replacement.ClearFormatting();
            oWord.Selection.Find.Replacement.Text = info;

            oWord.Selection.Find.Execute(
                ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
                ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
                ref replaceAll, ref oMissing, ref oMissing, ref oMissing, ref oMissing);



            object format = MSWord.WdSaveFormat.wdFormatDocument;
            //将wordDoc 文档对象的内容保存为DOC 文档,并保存到path指定的路径
            oDoc.Save();
            //oDoc.SaveAs(ref oNewPath, ref format, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing);
            //关闭wordDoc文档
            oDoc.Close(ref oMissing, ref oMissing, ref oMissing);
            //关闭wordApp组件对象
            oWord.Quit(ref oMissing, ref oMissing, ref oMissing);
        }

 

posted @ 2022-11-18 10:15  一年变大牛  阅读(196)  评论(0编辑  收藏  举报