程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> Word編程中的基於格式(Font Style)查找與替換

Word編程中的基於格式(Font Style)查找與替換

編輯:關於.NET

首先說明的是,我不懂VSTO,而是直接引用的 MS Word 的 COM組件,但是對象模型好像跟VSTO差不多,嘿嘿。

首先看一下代碼:

    object oMissing = Type.Missing;
    object oFalse = false;
    object oTrue = true;
    Application app = new ApplicationClass();
    app.Visible = false;
  
    object oFilename = "test.doc";
  
    // 打開一個WORD文檔
    Document doc = app. Documents.Open(ref oFilename, 
      ref oMissing,
      ref oFalse,
      ref oFalse,
      ref oMissing,ref oMissing,ref oMissing,ref oMissing,ref oMissing,ref oMissing,ref oMissing,ref oMissing,ref oMissing,ref oMissing,ref oMissing,ref oMissing);
  
    // 此屬性為True則表示搜索文檔格式或按文檔格式搜索
    doc.Content.Find.Format = true; 
    doc.Content.Find.Forward = true;
  
    // 此屬性表示我要搜索紅色的文字
    doc.Content.Find.Font.Color = WdColor.wdColorRed;
  
    doc.Content.Find.Execute(ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oTrue, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing);
    
    System.Diagnostics.Trace.WriteLine(doc.Content.Find.Text); // 將搜索到的文字顯示出來
    
    doc.Content.Find.ClearFormatting();
    doc.Save();
    doc.Close(ref oMissing, ref oMissing, ref oMissing);
    app.Quit(ref oMissing, ref oMissing, ref oMissing);

關鍵的就app.ActiveDocument.Content.Find.Font屬性,它可以設置要搜索的各種字體格式,然後就是app.ActiveDocument.Content.Find.Format = true ;

如果設置為True,才可以應用格式搜索。

但是奇怪的是,有時候我設置app.ActiveDocument.Content.Find.Format屬性的時候總是設置不了,

執行了下列代碼

app.ActiveDocument.Content.Find.Format = true ;

但是app.ActiveDocument.Content.Find.Format依然為False,不知道是為什麼,希望有經驗的高手能為我解答,謝謝!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved