2016-10-07 10 views
0

ワードドキュメント内のカッコで囲まれたテキストを強調表示しようとしていますが、コードでカッコだけが強調表示されています。ここに私のコードです:ワードドキュメント内のカッコ間の単語をプログラムで強調表示する方法

private void button5_Click(object sender, EventArgs e) 
{ 
    object textf = "("; 
    object texs = ")"; 
    object color = Color.Cyan; 
    object oMissing = System.Reflection.Missing.Value; 
    acWord.Application.Selection.Find.ClearFormatting(); 

    acWord.Application.Selection.Find.HitHighlight(ref textf, ref color, 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); 

} 
+0

文字を検索するのではなく範囲を選択する必要があります。単語vbaの選択範囲オブジェクトを検索する... https://msdn.microsoft.com/en-us/library/office/ff845882.aspx – Charleh

答えて

1

それはこのようにする必要があります。

private void btnFind_Click(object sender, EventArgs e) 
{ 
    object fileName = "xxxxx"; //The filepath goes here 
    string textToFind = "xxxxx"; //The text to find goes here 
    Word.Application word = new Word.Application(); 
    Word.Document doc = new Word.Document(); 
    object missing = System.Type.Missing; 
    try 
    { 
     doc = word.Documents.Open(ref fileName, 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); 
     doc.Activate(); 
     foreach (Word.Range docRange in doc.Words) 
     { 
      if(docRange.Text.Trim().Equals(textToFind, 
       StringComparison.CurrentCultureIgnoreCase)) 
      { 
       docRange.HighlightColorIndex = 
        Microsoft.Office.Interop.Word.WdColorIndex.wdDarkYellow; 
       docRange.Font.ColorIndex = 
        Microsoft.Office.Interop.Word.WdColorIndex.wdWhite; 
      } 
     } 
    } 
    catch (Exception ex) 
    { 
     MessageBox.Show("Error : " + ex.Message); 
    } 
} 

これも試すことができます。

using System.Drawing; 
using Spire.Doc; 
using Spire.Doc.Documents; 

namespace WordImage 
{ 
    class ImageinWord 
    { 
        static void Main(string[] args) 
        { 
            //Create Document 
            Document document = new Document(); 
            document.LoadFromFile(@"E:\Work\Documents\WordDocuments\References.docx"); 

            TextSelection[] text = document.FindAllString("forming", false, true); 
            foreach (TextSelection seletion in text) 
            { 
                seletion.GetAsOneRange().CharacterFormat.HighlightColor = Color.Yellow; 
            } 

            document.SaveToFile("FindHighlight.docx", FileFormat.Docx); 
            System.Diagnostics.Process.Start("FindHighlight.docx"); 
        } 
    } 
} 
+0

ありがとうございます –

関連する問題