0

次の行をアトミック操作として実行するにはどうすればよいですか。

Sheets("worksheet34").Select
Range("D15").Select
Application.WindowState = xlMaximized
SetCursorPos 200, 600 'set mouse position at 200, 600
Call mouse_event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0) 'click left mouse
Application.SendKeys ("R")

すべての行が互いに遅れることなく同じ順序で実行されることを確認したいと思います。

上記のコードは、特定のセルに移動REFRESHしてこのセルを選択するための私のハックです。

Win32:コードブロックのアトミック実行

同期機能(Windows)

4

1 に答える 1

1

できません。Excelがアトミックであることを保証するために、Excelをそれほど制御することはできません。また、Excelは、ポップアップメニューに必要なメッセージポンプなど、メッセージに応じて処理を実行します。

Excel VBAで何かを行う方法を見つける最良の方法は、マクロを記録して、生成されたコードを確認することです。

特定のケースでCalculate()は、セルまたは範囲のメソッドで値を更新する必要があります。

于 2012-11-29T10:01:41.567 に答える