【发布时间】:2020-07-03 07:00:32
【问题描述】:
我正在尝试从 word 文档中检索所有标题的字体名称和大小。知道如何获得吗?
【问题讨论】:
-
您的意思是“标题”中的标题和页眉/页脚中的标题还是像 Heading1、Heading2、Heading3 这样的标题?你想制作一个数组然后重用它们吗?还是您只想要文档的字体/大小报告?您是否想将此 vba 重用于您无法控制文档的各种文档,或者只是您机器上的文档,但您有很多文档?
-
我想要像 Heading1、Heading2 这样的标题。我想检索它们以进行报告,并在可能的情况下与标题的标准格式进行比较。
-
Hrm - 这让它变得更棘手。文档中的实际文本可能很容易覆盖默认标题格式。您是否正在寻找默认的 Header1 字体和大小应该是什么,或者它们在特定文档中的实际外观?
-
我认为部分问题是许多用户会手动设置标题,通常不考虑“标题”菜单。所以我可能会创建一条 16pt Verdana 的线,但“节点”设置为 body,我从来没有注意到。这是你需要担心的事情吗?
-
实际上是问题所在。如下图和实际文档中找到的字体不同 Set rng = docOutline.Content asrHeadings = _ docSource.GetCrossReferenceItems(wdRefTypeHeading) For intItem = LBound(astrHeadings) To UBound(astrHeadings) strText = Trim$(astrHeadings(intItem)) intLevel = GetLevel(CStr(astrHeadings(intItem))) strFont = rng.Font.Name rng.InsertAfter strText & intLevel rng.InsertAfter strFont & vbNewLine rng.Style = "Heading" & intLevel rng.Collapse wdCollapseEnd Next intItem End Sub