在 Word 2013 中,我需要在宏中添加一个简单的 VBA 代码来选择当前活动段落中存在的第一个形状。
注意:我需要代码选择的形状是我在 BuildingBlockEntries 中创建并保存为自动文本的自定义形状。我用来插入形状的代码是:
Application.Templates( _
"C:\Users\Administrator\AppData\Roaming\Microsoft\Templates\Normal.dotm") _
.BuildingBlockEntries("_red_box").insert where:=Selection.Range, RichText:=True
选择形状的目的是通过以下代码将剪贴板内容粘贴到其中:
ActiveDocument.ActiveWindow.Selection.Paste)
我是 VBA 新手。选择形状的 VBA 代码是什么?
答案1
我的 VBA 有点生疏,但如果你用相同的名称插入,并给它一个索引属性,你可以使用 item(0) 选择第一个,使用 item(1) 选择第二个,等等...其中 item() 是你的实例的名称,0,1,2,3...是它是哪一个项目。
它可能就像添加一样简单:
dim MyShapes
MyShapes(0) = Application.Templates( ... )
由john.s2011编辑:
Sub Mymacro()
Dim MyShapes
MyShapes(0) = Application.Templates( _
"C:\Users\Administrator\AppData\Roaming\Microsoft\Templates\Normal.dotm") _
.BuildingBlockEntries("myshape").insert where:=Selection.Range, _
RichText:=True
Dim Rng As Range
With ActiveDocument
Set Rng = .GoTo(What:=wdGoToBookmark, Name:="\para")
Rng.ShapeRange(0).Select Rng.Paste
End With
end sub