如何识别特定的文本框



我的VBA例程旨在更改文档页脚中的文本框中的文本。现在它的标识如下:

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

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

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

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

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

相关内容

  • 没有找到相关文章

最新更新