我目的是想得知User将鼠标点选到哪一张图片的Name 目前我已知道使用 Sub Click() MsgBox Application.Caller End Sub 放在 Private Sub Workbook_Open() Dim ctl As Shape ctlCount = 0 For Each ctl In ActiveSheet.Shapes ctl.OnAction = "Click" Next ctl End Sub得到图片Name 但是这只是Workbook_Open()时将已存在的图片作关连, 如果User新插入的图片或文字艺术师就没有办法了!! 有办法在插入的同时作关连吗?
可以 只要你在一个事件激发,比如用户双击前关联。 当然最好有个画图完成的事件可惜我不知道。 如 Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)Dim ctl As Shape ctlCount = 0 For Each ctl In ActiveSheet.Shapes ctl.OnAction = "oClick" Next ctl End Sub在模块文件里添加: Sub Click() MsgBox Application.Caller End Sub
目前我已知道使用
Sub Click()
MsgBox Application.Caller
End Sub
放在
Private Sub Workbook_Open()
Dim ctl As Shape
ctlCount = 0
For Each ctl In ActiveSheet.Shapes
ctl.OnAction = "Click"
Next ctl
End Sub得到图片Name 但是这只是Workbook_Open()时将已存在的图片作关连,
如果User新插入的图片或文字艺术师就没有办法了!!
有办法在插入的同时作关连吗?
当然最好有个画图完成的事件可惜我不知道。
如
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)Dim ctl As Shape
ctlCount = 0
For Each ctl In ActiveSheet.Shapes
ctl.OnAction = "oClick"
Next ctl
End Sub在模块文件里添加:
Sub Click()
MsgBox Application.Caller
End Sub