如何在C#中的Range.Find.execute中传递多个字符串?

时间:2016-06-30 04:53:26

标签: c# visual-studio-2015

我想搜索“%”或“&”等几个字符或者带有数百行的Word文档中的“@”。 Word具有 Range.Find.execute 方法,该方法用于搜索文档中的字符串,但我无法使用它。

  

Object findText;

我们传递了在Document中找到的字符串。

如何将超过1个字符串传递给findText对象。 例如。它应该搜索“%”“&”“@”中的任何一个,以先到者为准。

请帮我一个示例代码,根据我的要求执行Find.execute方法。

由于

            Object findText = "@"; // have to use "%" and "&" as well

            Object matchCase = Type.Missing;

            Object matchWholeWord = Type.Missing;

            Object matchWildCards = Type.Missing;

            Object matchSoundsLike = Type.Missing;

            Object nmatchAllWordForms = Type.Missing;

            Object forward = Type.Missing;

            Object wrap = Type.Missing; 

            Object format = Type.Missing;

            Object replaceWithText = Type.Missing;

            Object replace = Type.Missing; //object replace = WdReplace.wdReplaceNone; 

            Object matchKashida = Type.Missing;

            Object matchDiacritics = Type.Missing;

            Object matchAlefHamza = Type.Missing;

            Object matchControl = Type.Missing;

            Word.Range rng = this.Content; 
            rng.Find.ClearFormatting();
            if (rng.Find.Execute(ref findText, ref matchCase,
                ref matchWholeWord, ref matchWildCards,
                ref matchSoundsLike, ref nmatchAllWordForms,
                ref forward, ref wrap, ref format,
                ref replaceWithText, ref replace,
                ref matchKashida, ref matchDiacritics,
                ref matchAlefHamza, ref matchControl))
            {
                // Do Something
            }

0 个答案:

没有答案