zoukankan      html  css  js  c++  java
  • C# 操作Word批量替换

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Diagnostics;
     4 using System.Linq;
     5 using System.Text;
     6 
     7 namespace TextReplace
     8 {
     9     public class WordOperate : IDisposable
    10     {
    11         private Microsoft.Office.Interop.Word._Application _app;
    12         private Microsoft.Office.Interop.Word._Document _doc;
    13         object _nullobj = System.Reflection.Missing.Value;
    14 
    15         /// <summary>
    16         /// 关闭Word进程
    17         /// </summary>
    18         public void KillWinword()
    19         {
    20             var p = Process.GetProcessesByName("WINWORD");
    21             if (p.Any()) p[0].Kill();
    22         }
    23 
    24         /// <summary>
    25         /// 打开word文档
    26         /// </summary>
    27         /// <param name="filePath"></param>
    28         public void Open(string filePath)
    29         {
    30 
    31             _app = new Microsoft.Office.Interop.Word.ApplicationClass();
    32             object file = filePath;
    33             _doc = _app.Documents.Open(
    34                  ref file, ref _nullobj, ref _nullobj,
    35                  ref _nullobj, ref _nullobj, ref _nullobj,
    36                  ref _nullobj, ref _nullobj, ref _nullobj,
    37                  ref _nullobj, ref _nullobj, ref _nullobj,
    38                  ref _nullobj, ref _nullobj, ref _nullobj, ref _nullobj);
    39         }
    40 
    41 
    42         /// <summary>
    43         /// 替换word中的文字
    44         /// </summary>
    45         /// <param name="strOld">查找的文字</param>
    46         /// <param name="strNew">替换的文字</param>
    47         public void Replace(string strOld, string strNew)
    48         {
    49             _app.Selection.Find.ClearFormatting();
    50             _app.Selection.Find.Replacement.ClearFormatting();
    51             _app.Selection.Find.Text = strOld;
    52             _app.Selection.Find.Replacement.Text = strNew;
    53 
    54             object objReplace = Microsoft.Office.Interop.Word.WdReplace.wdReplaceAll;
    55             _app.Selection.Find.Execute(ref _nullobj, ref _nullobj, ref _nullobj,
    56                                        ref _nullobj, ref _nullobj, ref _nullobj,
    57                                        ref _nullobj, ref _nullobj, ref _nullobj,
    58                                        ref _nullobj, ref objReplace, ref _nullobj,
    59                                        ref _nullobj, ref _nullobj, ref _nullobj);
    60         }
    61 
    62         /// <summary>
    63         /// 保存
    64         /// </summary>
    65         public void Save()
    66         {
    67             _doc.Save();
    68         }
    69 
    70         /// <summary>
    71         /// 退出
    72         /// </summary>
    73         public void Dispose()
    74         {
    75             _doc.Close(ref _nullobj, ref _nullobj, ref _nullobj);
    76             _app.Quit(ref _nullobj, ref _nullobj, ref _nullobj);
    77         }
    78     }
    79 }
  • 相关阅读:
    POJ2376 Cleaning Shifts
    百度首页图标
    NOIP2016换教室
    CH3803扑克牌
    【POJ2723】Get Luffy Out
    【USACO13DEC】 最优挤奶
    【SP2916】Can you answer these queries V
    【线段树】各种模板集合
    【SCOI2013】摩托车交易
    【CF1174D】 Ehab and the Expected XOR Problem
  • 原文地址:https://www.cnblogs.com/existcQ/p/2952614.html
Copyright © 2011-2022 走看看