2016-10-30 4 views
0

누군가 내게 이것을 밝힐 수 있습니까? 단추를 사용하여 Excel의 이미지 ActiveX 컨트롤에 일련의 그림 (약 58 개 정도)을 표시해야합니다. 단추를 누르면 GIF와 같이 이미지가 1 씩 자동 재생됩니다 (GIF는 사용할 수 없습니다). 표시 나는 또한 사진을 수 있도록 "타이머"일종의을 사용하는 등의 것들에 대한 내 코드에서Excel에서 이미지 ActiveX의 이미지 묶음을 표시하십시오.

Sub main() 
    Dim iPic As Long 

    With ActiveSheet.Image1 
     For iPic = 1 To 6 
      .Picture = LoadPicture(ThisWorkbook.Path & "\Images\Irene\" & iPic & ".jpg") 
     Next 
    End With 
End Sub 

: 나는 루프에 약한 조금 그래서 누군가가 이것을 시도 나에게

Sub Button3_Click() 
Dim x As Integer 

x = 1 

    ActiveSheet.Image1.Picture = LoadPicture(ThisWorkbook.Path   & "\Images\Irene\" & x & ".jpg") 

'MsgBox (ThisWorkbook.Path & "\Images\Irene\" & x & ".jpg") 
End Sub 

답변

0

을 HEP 수 있어요 :

Sub main() 
    Dim iPic As Long 

    With ActiveSheet.Image1 
     For iPic = 1 To 6 
      .Picture = LoadPicture(ThisWorkbook.Path & "\Images\Irene\" & iPic & ".jpg") 
      MyWait '<--| added to let pictures be actually shown one by one 
     Next 
    End With 
End Sub 

Sub MyWait() 
    Dim time1, time2 

    time1 = Now 
    time2 = Now + TimeValue("0:00:01") 
    Do Until time1 >= time2 
     DoEvents 
     time1 = Now() 
    Loop 
End Sub 
+0

이 줄 (iPic = 1에서 6까지)은 내가 가지고있는 사진의 수입니까? 어떻게 GIF 파일처럼 위의 코드를 천천히 표시하는지, 어떤 값을 TimeValue에 사용해야합니까? – danjok

+0

1) 예, 코드 6의 숫자는 그림의 개수입니다. 2) 내 코드에서의 표시 속도는'TimeValue' 할당 문의'+ TimeValue ("0:00:01")'부분을 통해'MyWait()'sub에 의해 조정됩니다. 이것은 현재 1 초입니다. 속도를 높이려면 1 초보다 작은 시간을 처리하는 다른 방법을 사용해야합니다 (예 : [here] (http://stackoverflow.com/questions/1470632/vba-show-clock-time 참조). -with-of-second-of-second)) – user3598756

+0

@ danjok, 이미지를 반복하는 방법에 대한 질문에 대답 했으므로 받아 들여야 할 수도 있습니다. 고맙습니다 – user3598756

관련 문제