我有一个简单的代码,用于删除鼠标悬停触发之前创建的图片。下面的代码使用与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