[問題] VBA-PPT的圖片移動(已解決)

作者: conquer2011 (血管收縮)   2016-03-11 12:38:03
軟體:powerpoint
版本:2010
最近在練習用powerpint的VBA功能,發現跟Excel VBA還是有點差距(像是OnTime 就沒有)
有兩個問題想要請教版上的強者
1.
我用開發工具放了一個ActiveX圖片,希望在播放下能夠按了圖片逐漸移動
於是我這樣寫(因為powerpoint不支援OnTime Method)
Private Sub CommandButton1_Click()
For i = 1 To 50
Image1.Left = Image1.Left + 2
Next
End Sub
但過程卻出乎我意料
以下圖由上到下分別是執行前(編輯畫面),執行後(播放),執行後(編輯畫面)
http://imgur.com/a/LYqlI
不但沒有出現如果預期的逐漸移動,還變成兩張圖,像是複製一樣
但回到編輯畫面卻發現他真的位移了,也沒有複製
※更新進度
逐步移動解決了,但不知道為什麼還是會出現第二個畫面
卡一張原圖在本來的位置
2.
因為1的問題不知道原因
所以我想用VBA做出插入圖片,將圖片做powerpoint的動畫移動縮放
Set myIMG = ActivePresentation.Slides(1)
myIMG.Shapes.AddPicture FileName:="C:\Users\will_chiang\Desktop\A1.jpg",
LinkToFile:=msoTrue, SaveWithDocument:=msoTrue, _
Left:=100, Top:=100, Width:=70, Height:=70
For i = 1 To 50
Sleep 10
DoEvents
Next
但我不知道要如何才能指定到我這個插入的物件,讓Top跟Left移動
感謝!
作者: soyoso (我是耀宗)   2016-03-11 14:32:00
逐漸移動方面可在迴圈內用sleep配合doevents效果如https://youtu.be/DmdoQw0TJco
作者: conquer2011 (血管收縮)   2016-03-11 14:46:00
加了DoEvents的確做到逐步移動,但起始位置還是會出現暫存畫面,sleep是要解決這個問題嗎?
作者: soyoso (我是耀宗)   2016-03-11 14:53:00
抱歉測試上無出現暫存畫面,看其他先進是否有解決方式
作者: conquer2011 (血管收縮)   2016-03-11 14:55:00
現在問題變成不知道為啥會有暫存畫面了QQ
作者: soyoso (我是耀宗)   2016-03-11 16:32:00
同myIMG方式,在addpicture時set 變數 =myimg.shapes.addpicture(filename:=...height:70)再將此變數於迴圈內進行top和left的移動變數資料型態為shape
作者: conquer2011 (血管收縮)   2016-03-11 16:35:00
非常感謝樓上大大!

Links booklink

Contact Us: admin [ a t ] ucptt.com