これは VBA で行うのは非常に奇妙なことのように思えるかもしれませんが、興味があるので聞いてください。クリックすると画像が画面上を移動する手順を作成しました。これは問題なく動作しますが、それでも動作します。
コードは次のとおりです。
'Start primitive animation
Private Sub imgBean_Click()
'Limit for movement to right
Dim coordinates, limit As Integer
coordinates = 0
limit = Form.Width
Do While coordinates < limit
coordinates = coordinates + 5
'Move the image
Me.imgBean.Move coordinates
'Needed to add this to see the image move - updates the form
Form.Repaint
Loop
Debug.Print "Coordinates " & coordinates
Debug.Print limit
'Reset the limit
limit = 0
End Sub
コードが機能する前に述べたように、画像が移動している間は画面がフリーズします。つまり、フォームを閉じたり、他のコンポーネントと対話したりすることはできません。(これは、Android 環境で UI スレッドをブロックすることに似ています。これは、絶対に行わないことです!)
これを回避する方法はありますか?
ありがとう
PSフォームにフォーカスを設定すると、画像が散発的に現れたり消えたりします。