在Excel中的图像ActiveX中显示一堆图像
问题描述:
有人可以在这方面给我启发。我需要使用按钮在Excel的Image ActiveX控件中显示一系列图片(如约58个图片)。如果我按下一个按钮,它会像GIF一样自动播放图像(我们无法使用gif)。我有点在循环弱所以能有人HEP我在Excel中的图像ActiveX中显示一堆图像
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
答
试试这个:
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 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
所以说明一下,这行(对于iPic = 1到6)是我有的图片数量?以及如何让图片显示速度如此之快,我的意思是像一个GIF文件,上面的代码缓慢地显示它们,我应该使用什么值TimeValue – danjok
1)是的,我的代码中的数字6是您拥有的图片数量。 2)我的代码中的显示速度由'MyWait()'sub通过'time2'赋值语句的'+ TimeValue(“0:00:01”)'部分调整,该赋值语句当前为1秒。为了加快速度,您必须搜索与我的处理时间量小于1秒的方法不同的方法(例如,请参见[这里](http://stackoverflow.com/questions/1470632/vba-show-clock-time -with-accuracy-of-a-second)) – user3598756
@danjok,因为我回答了你关于如何循环图像的问题,你可能想要接受它。谢谢 – user3598756