zhangdabai1 2022-12-21 15:08 采纳率: 50%
浏览 42
已结题

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
  • 写回答

1条回答 默认 最新

  • VBA-守候 2022-12-26 19:19
    关注

    分清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
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月14日
  • 已采纳回答 5月6日
  • 修改了问题 12月21日
  • 创建了问题 12月21日