C#/ MS Word - 使用字体大小或颜色查找文本

时间:2013-01-16 18:12:02

标签: c# ms-word interop find

我有一个HTML doc需要在MS Word中打开。它具有每2-3页后具有特定字体/颜色的标题文本(假设13.5pt和颜色代码是#ff11ff)&我希望找到标题文本所在的页码。

在MS Word环境中检测到特定文本的存在时,哪些HTML标签可以派上用场?据我所知,我们可以使用find方法检测文本,但我不知道是否有任何方法可以搜索以查找特定的“字体/字体颜色”,

我需要这个来创建一个索引页面,它将具有标题和列表的名称。找到它们的页码。所以它就像:

  1. 查找特定字体大小的文字。
  2. 获取该页面的当前页码。
  3. 更新: 好像我必须迭代doc&的每一个文本。检查它的字体和&然后做一些像

    这样的事情
    Microsoft.Office.Interop.Word._Application word = new Microsoft.Office.Interop.Word.Application();
                    Microsoft.Office.Interop.Word._Document document;
    
                    while (word.Selection.Find.Execute(ref findStr, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull, ref objNull))
                    {
    
                        float fontSize = word.Selection.Font.Size;
    
                        if (fontSize == 13.5)
                        {
                            Range rng = word.Selection.Range;
                            int pageNp = (int)rng.get_Information(WdInformation.wdActiveEndPageNumber);
                        }
                    }
    

1 个答案:

答案 0 :(得分:1)

您可以采取一些不同的方法;好像你忽略了Microsoft Word。 jQuery可以轻松查明特定的Html或样式表标签。

如果您尝试编写一个简单的C#应用​​程序来识别这两个请求。你可以使用正则表达式;它们非常强大,专门用于过滤和解析大量数据。

由于你的问题缺乏信息,我不能再指出你了,但我希望有所帮助。您可以找到有关正则表达式here的其他信息:该备忘单应该为您指出几种功能。

我将采取的方法:

  • 如果你必须用词;利用一种方法来解析文档。
  • 使用正则表达式方法搜索特定标签。
  • 然后只需定义方法以返回找到条件的当前页面。

显然,这是一种非常通用的方法。但希望这能指明你的方向。我不熟悉你的任务或目标;所以这可能会打到头上的钉子。

所以我很抱歉,如果它含糊不清,但我们不知道您的项目,所以它使回复变得困难。如果你不介意我问;你能用你当前的迭代或方法更新你的问题吗?那么我们可以分析代码,也许是你想要的目标?