我想在C文档中找到并选择Word文档中的所有文本,即括号之间。但它会选择所有文本。
以下是此部分的完整代码:
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();
}
答案 0 :(得分:1)
要在简单括号中查找文本,必须转义括号字符;而不是选择执行查找所需的范围。 ; - ):
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();
}
答案 1 :(得分:0)
"\[*\]"
应该是"\\[*\\]"
。