wordvba中提示方法Item作用对象shapes时失败

wordvba中提示方法Item作用对象shapes时失败;请问图片的名字如何读取,还有就是怎么根据图片的名字选中对应的图片,求大家指点一下,谢谢

img

Sub 图片的名称()
    Dim tuName As String
    tuName = ActiveDocument.Shapes(1).Name
    MsgBox (tuName)
    ActiveDocument.Shapes(tuName).Select
End Sub

分清Word中的形状与图片

一、形状(Shape)

(一)形状(在Shapes集合内)包含:

1.所有的【插入】菜单中插入的对象(如矩形、圆形等);
2.所有非嵌入式的图片

(二)形状有Name属性

(三)示例代码

Sub 形状的名称()
    Dim tuName As String
    tuName = ActiveDocument.Shapes(1).Name
    MsgBox (tuName)
    ActiveDocument.Shapes(tuName).Select
End Sub

二、图片(InlineShape)

(一)图片(在InlineShapes集合内)包含:

所有嵌入式的图片
注意:除此以外的对象(如嵌入式的形状)都不是图片

(二)图片无Name属性

但是,可以将图片的布局方式改为非嵌入式,将其变变VBA识别的形状,就可以获取Name属性了。(但一般不推荐此方法,不实用。)

(三)示例代码

Sub 图片的名称()
    Dim tuName As String
    tuName = ActiveDocument.InlineShapes(1).ConvertToShape.Name
    MsgBox (tuName)
    ActiveDocument.Shapes(tuName).Select
End Sub