在鼠标悬停VBA上删除图片时出现1004错误

时间:2018-10-30 09:33:42

标签: excel vba

我有一个简单的代码,用于删除鼠标悬停触发之前创建的图片。下面的代码使用与Show_MouseOver相同的方法,但是它将删除传递的对象-命名为Hide_MouseOver。

Public Function Reset(Friendlyname As String)
If DoOnce Then

    Application.ScreenUpdating = False
    Unprotect
    DoOnce = False

    Dim URL As String
    Dim Pict
    Dim drOBJ

    Set drOBJ = ActiveSheet.DrawingObjects
    For Each Pict In drOBJ
        If Pict.Name = Friendlyname Then
            Pict.Select
            Pict.Delete
        End If
    Next
    Protect
    Application.ScreenUpdating = True
End If
End Function

工作简单方便。但是我发现的问题仍然是这样的:

1)我有多个“显示/隐藏”图标触发从本地磁盘创建和删除不同图片的操作 2)如果用户触发1张图片的显示和2张图片的ALSO TRIGGERS显示而不触发1张图片的隐藏,则图片1的HIDE之后将不起作用并触发1004错误-无法获得图片类的名称属性。

我真的无法找出问题所在,因为我的每个隐藏图标都有单独的代码来隐藏特定图片,并且由于图片的名称是在显示时设置的,所以我不明白为什么Excel返回错误在上面。 F.E.隐藏对象:

Private Sub RegBubbles_hide_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    Reset ("RegBubbles")
End Sub

0 个答案:

没有答案