###前提・実現したいこと
とある温度計測器のAPIとVBAを使い、Excelファイルに計測器から取得した温度をペーストしていくようにしています。
温度を1秒ごとに記録していきたいので、Do-whileループの中で、温度を取得しては1秒待機する、という処理をしています。
###発生している問題・エラーメッセージ
下記のVBAコードでは、1秒ごとにしかマウス入力を受け付けず、温度を記録中に他のexcelファイルを操作することもできません。また、excelのシークバーやexcelファイルのウインドウを動かしていると、その間は温度の貼り付けが中断されてしまいます。
なにかよい方法はないでしょうか?
###該当のソースコード
VBA
1Sub PasteTemp() 2 stopFlag=False 3 Do 4 DoEvents 5 <現在の温度を取得する処理> 6 <取得した温度をシートに貼り付ける処理> 7 Application.Wait [Now()+"00:00:01"] '現在時刻より1秒間待機 8 Loop While stopFlag=False '下のプロシージャの中止ボタンが押されるまで温度を記録し続ける 9End Sub 10 11Sub StopPasteButton() 'ボタンを押すと温度の記録を注視 12 stopFlag=True 13End Sub
###補足情報(言語/FW/ツール等のバージョンなど)
Windows7
Excel 2007

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/10/15 09:40