0

これは 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フォームにフォーカスを設定すると、画像が散発的に現れたり消えたりします。

4

1 に答える 1