2014-10-23 3 views
0

Я хочу, в коде, поменять изображение для другого. Вот что у меня сейчас:Excel programatically swap activex image

Private Sub CommandButton3_Click() 
    Dim Pic As Picture 
    Me.Shapes(5).Delete 
    Set Pic = Me.Pictures.Insert("C:\Downloads\cards\2h.gif") 
End Sub 

Он работает по большей части, за исключением того, что он держит удаление неправильной вещи. Как я могу узнать и контролировать, что находится в массиве Shapes? Другими словами, когда я добавляю новую картинку, как мне узнать ее индекс в массиве Shapes?

+0

Что именно вы делаете? Что такое 'Me' здесь? –

+0

Я, в этом случае, это текущий рабочий лист, я считаю. – user3925803

ответ

0

FYI, это не изображение ActiveX.

Вы можете назвать картину после того, как вы добавите его:

Private Sub CommandButton3_Click() 
    Dim Pic As Picture 
    On Error Resume Next 
    Me.Pictures("MyPic").Delete 
    On Error Goto 0 
    Me.Pictures.Insert("C:\Downloads\cards\2h.gif").Name = "MyPic" 
End Sub