SHOJI's Code
 仕事や趣味で書いた各種言語のプログラミングコード(エクセルVBA,PHP,C/C++/C#,JavaScript等)、その他雑記。
2017.08<<123456789101112131415161718192021222324252627282930>>2017.10
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

久々の投稿・・・

先日、ちょっと確認の意味で走らせて見たコード。
Sub test()
While True
Debug.Print Now
DoEvents
Wend
End Sub


走らせるとどうなるか? ひたすらイミディエイトウィンドウに時間を表示する。そして普通にEXCELの操作もできる。では次はどうか?
Sub test()
While True
Thisworkbook.Sheets("Sheet1").Range("A1").Value = Timer
DoEvents
Wend
End Sub


走らせると、ひたすらSheet1のA1にタイマの値が書き込まれる。そして一見普通にEXCELの操作もできそうなのだが、ちょっと困ったことになる。
セルの書式設定などは行える。しかし、どこかのセルを編集状態にすると「アプリケーション定義またはオブジェクト定義のエラーです。」と表示されてエラーで停止する。エラーの箇所も示されないから、ちょっと困ったものだ。

この手法、バックグラウンドで何か処理をしながらユーザに操作もさせることができるので使えるかな?と思っていたのだが、ちょっと危ないかな?
もちろんOn Error Resume Nextと書けば、上のコードも編集中であってもエラー部はスキップされるのだが、何か、現在編集中、みたいなプロパティなどないものか。


テーマ:プログラミング - ジャンル:コンピュータ
コメント
この記事へのコメント
コメントを投稿する

管理者にだけ表示を許可する
トラックバック
この記事のトラックバックURL
この記事へのトラックバック
copyright © 2004-2006 SHOJI, Powered By FC2ブログ all rights reserved.
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。