有没有办法通过C#提取在单词中使用特定字体(大小,粗体,字体名称等)的所有行?
另外,有没有办法找出文档中某些文字的字体是什么?
我的预感是Microsoft.Office.Interop.Word命名空间中有一些函数可以执行此操作,但我似乎无法找到它们。
修改:我使用的是Word 2010。
答案 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代码。