为什么我的查找和 select 代码 select 都是 Word 中的文本?

Why my find and select code selects all text in Word?

我想使用 C# 查找并 select Word 文档中括号内的所有文本。但它 select 全部是文本。

这是这部分的完整代码:

private void StartAll_Click(object sender, EventArgs e)
{
    foreach (var item in fileLIST.Items)
    {

        // Open + activate Word
        Word._Application word_app = new Word.Application();

        //visible or not
        word_app.Visible = true;

        word_app.Documents.Open(item.ToString());



        Word.Range range = word_app.ActiveDocument.Content;
        Word.Find find = range.Find;

        find.MatchWildcards = true;
        find.Text = "\[*\]";
        find.Forward = true;
        find.Wrap = Word.WdFindWrap.wdFindContinue;
        find.ClearFormatting();


        find.Execute();


        // unhide hide all
        range.Font.Hidden = 1;  // 1 = False


        // Save and close
        word_app.ActiveDocument.Save();


        object SaveChanges = Word.WdSaveOptions.wdSaveChanges;
        word_app.Quit();
    }

要查找简单括号中的文本,必须对括号字符进行转义;而不是选择执行查找所需的范围。 ;-):

word_app.Documents.Open(item.ToString());

Word.Range range = word_app.ActiveDocument.Content;
Word.Find find = range.Find;

find.MatchWildcards = true;
find.Text = @"\[*\]";
find.ClearFormatting();
find.Execute();
while (find.Found)
{
    // unhide hide all
    range.Font.Hidden = 1; // 1 = F
    find.Execute();
}

"\[*\]" 应该是 "\[*\]"