在Word中按字体选择文本

时间:2012-01-01 23:50:03

标签: c# ms-word

有没有办法通过C#提取在单词中使用特定字体(大小,粗体,字体名称等)的所有行?

另外,有没有办法找出文档中某些文字的字体是什么?

我的预感是Microsoft.Office.Interop.Word命名空间中有一些函数可以执行此操作,但我似乎无法找到它们。

修改:我使用的是Word 2010。

1 个答案:

答案 0 :(得分:2)

您可以从Word Interop循环浏览文档using the Find object。您可以从文档中为选择或范围设置Find.Font.Name属性。请注意,Font接口具有多种Name*属性,可用于各种编码。

修改

这是等效的VBA代码:

Dim selectionRange As Range
Set selectionRange = Application.ActiveDocument.Range

With selectionRange.Find
    .ClearFormatting
    .Format = True
    .Font.NameBi = "Narkisim" //for doc without bidirectional script, use Name
    Do While .Execute
        MsgBox selectionRange.Text
    Loop
End With

Word Interop中的对象模型是相同的,请参阅上面的链接。

现在不要再向我询问C#代码了...这样做,我们不做银盘。如果您打算使用Office Interop API进行认真的工作,则需要能够阅读VBA代码。