我正在尝试创建一个工具来以编程方式替换大量文档中的标头。我之所以选择使用VBS,因为我对它很熟悉,并且不需要在用户的计算机上安装软件。
我正在使用此子例程删除现有标题:
Sub clearHeader()
Dim oSection
For Each oSection In objDoc.Sections
For Each oFF In oSection.Headers
oFF.Range.Delete
Next
Next
End Sub
不幸的是,这也会将tab stops更改为非标准维度。 (如果我在空白文档上使用子例程,则不会发生此更改,因此必须基于我要处理的文档的格式。)
此时似乎最好的选择是简单地将制表位设置为它们应该位于的位置,而不管它们在第一步之后的最终位置。
我正在使用以下子例程尝试调整标题中的制表位,但收到的错误显示为:
“对象不支持此属性和方法:'thisHeader.TabStops'”
Sub moveTab()
Dim thisSection
For Each thisSection In objDoc.Sections
For Each thisHeader In thisSection.Headers
For Each aTab In thisHeader.TabStops
par.TabStops(432).Position = 468
Next
Next
Next
End Sub
我对面向对象编程只有一点熟悉,所以如果这是一个直接的错误我会道歉。
我尝试在Word中制作宏,然后将VBA翻译成VBS,但收效甚微。
答案 0 :(得分:1)
那是因为TabStops
不是HeaderFooter
类的成员。
是<{3}}类的成员,但是您可以通过Range
的{{1}}属性进行访问。
例如,这将在2.5&#34;处添加制表位。对于每个页眉/页脚类型(主页,首页,偶数页):
HeaderFooter