我的 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
这样,即使将添加新形状,您的代码也将始终写入正确的文本框。