我正在尝试从word文档中检索所有标题的字体名称和大小。知道如何获得它吗?
答案 0 :(得分:1)
基本结构如下:
Public Sub ShowFontAndSize() Dim singleLine As Paragraph Dim lineText As String
For Each singleLine In ActiveDocument.Paragraphs
Debug.Print singleLine.Range.Font.Name
Debug.Print singleLine.Range.Font.Size
Next singleLine
End Sub
如果在同一行上有不同的字体和大小,这将无法察觉。如果这是可能的话,你需要在段落循环中添加另一个带有For Each singleCharacter In singleLine.Range.Characters
的循环。
编辑:一个棘手的问题是,一旦你收集了这些数据该怎么办。构建一个数组似乎很自然,但VBA数组是无用的,因为像.append()这样的基本方法需要你重新整理整个数组。如果您想沿着这条路走下去,请参阅http://www.cpearson.com/excel/VBAArrays.htm了解更多信息。
答案 1 :(得分:0)
最直接的解决方案是在Word中打开文档并访问对象模型。这通常使用VBA完成,但您也可以使用VSTO(Visual Studio Tools for Office)使用.NET(例如C#og VB.NET)。我个人认为C#/ VB.NET语言比VBA好得多。
一旦访问了对象模型,就必须枚举文档中的段落。当您找到标题(可能由样式定义)时,您必须弄清楚标题的格式。
答案 2 :(得分:0)
这是我从MSDN page on "HeadingStyles":
的简短略图中得到的MsgBox ActiveDocument.HeadingStyles(1).Style