更改标题选项卡在Microsoft Word

时间:2015-07-17 20:56:00

标签: oop vbscript ms-word ms-office

我正在尝试创建一个工具来以编程方式替换大量文档中的标头。我之所以选择使用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更改为非标准维度。 (如果我在空白文档上使用子例程,则不会发生此更改,因此必须基于我要处理的文档的格式。) Fig.1 Non-standard 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,但收效甚微。

1 个答案:

答案 0 :(得分:1)

那是因为TabStops不是HeaderFooter类的成员。

是<{3}}类的成员,但是您可以通过Range的{​​{1}}属性进行访问。

例如,这将在2.5&#34;处添加制表位。对于每个页眉/页脚类型(主页,首页,偶数页):

HeaderFooter