如何识别特定文本框?

时间:2015-05-29 22:06:56

标签: textbox ms-word word-vba word-2013

我的VBA例程设计为在文档页脚的文本框中更改文本。现在它被确定如下:

Dim R1 as Word.Range
Set R1 = ActiveDocument.Sections(1).Footers(wdHeaderFooterPrimary).Range
R1.ShapeRange(1).TextFrame.TextRange.Text = "xxxx"

但是,用户可能会修改此模板,并可能添加其他文本框。我如何保证我能找到正确的文本框?

1 个答案:

答案 0 :(得分:1)

首先找出该文本框的名称。为此,您可以使用此代码

Sub Sample()
    Dim shp
    Dim R1 As Word.Range

    Set R1 = ActiveDocument.Sections(1).Footers(wdHeaderFooterPrimary).Range

    For Each shp In R1.ShapeRange
        Debug.Print shp.Name
    Next shp
End Sub

知道名字后,只需使用该名称

即可
Sub Sample()
    Dim R1 As Word.Range

    Set R1 = ActiveDocument.Sections(1).Footers(wdHeaderFooterPrimary).Range

    R1.ShapeRange("Text Box 1").TextFrame.TextRange.Text = "xxrrrxx"
End Sub

这样即使添加了新形状,您的代码也会始终写入正确的文本框。