请问我在VS2008建立ExcelWorkbook项目Sheet1插入N张图片(Shape),
我想利用C# 得知User将鼠标点选到哪一张图片的 Name该如何做到?

解决方案 »

  1.   

    我目的是想得知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新插入的图片或文字艺术师就没有办法了!!
    有办法在插入的同时作关连吗?
      

  2.   

    可以 只要你在一个事件激发,比如用户双击前关联。
    当然最好有个画图完成的事件可惜我不知道。
    如 
    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