簡體   English   中英

Word inerop c#:在 word 文件中查找和替換星號

[英]Word inerop c#: Finding and replacing asterisk in word file

我正在使用 word interop 編輯 word 文件。 有時這些文件有多個“*”,我必須以編程方式替換它們。 因此,如果有兩個星號,我將用 no 替換它們。 2.不知怎的,我找不到“*”。

 Word.Range rngAff = doc.Content;    
 rngAff.Find.ClearFormatting();
 rngAff.Find.Font.Superscript = 1;
 rngAff.Find.Text = @"\*{1,}";
 while (rngAff.Find.Execute())
            {
              rngAff.Find.Replacement.Text = this.CountReplaceAsterisks()
            }

不知何故執行命令不成功。 如何在word文件中找到星號?

當我需要替換 word 文件中的某些字符時,我正在使用那段代碼,我得到了很好的結果:

class Program
{

  static void Main(string[] args)
  {
    SearchReplace();
  }


  private static void SearchReplace()
  {
    object missing = System.Reflection.Missing.Value;

    Application application = new Application();
    Microsoft.Office.Interop.Word.Document document = application.Documents.Add("C:\\Users\\test\\Desktop\\word.docx");

    Microsoft.Office.Interop.Word.Find findObject = application.Selection.Find;
    findObject.ClearFormatting();
    findObject.Text = "**";
    findObject.Replacement.ClearFormatting();
    findObject.Replacement.Text = "";

    object replaceAll = Microsoft.Office.Interop.Word.WdReplace.wdReplaceAll;
    findObject.Execute(ref missing, ref missing, ref missing, ref missing, ref missing,
        ref missing, ref missing, ref missing, ref missing, ref missing,
        ref replaceAll, ref missing, ref missing, ref missing, ref missing);

    object filename = "C:\\savefile.docx";
    document.SaveAs2(ref filename);;

    document.Close(ref missing, ref missing, ref missing);
    document = null;
    application.Quit(ref missing, ref missing, ref missing);
    application = null;
  }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM