在Word中按字体选择文本

soa*_*dos 5 c# ms-word

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

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

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

编辑:我正在使用2010年的单词.

sq3*_*33G 2

您可以使用Word Interop 中的Find对象循环浏览文档。您可以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
Run Code Online (Sandbox Code Playgroud)

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

现在不要向我索要 C# 代码...事实如此,我们不做银盘。如果您要认真使用 Office Interop API 进行工作,您将需要能够阅读 VBA 代码。