トップページ > プログラム > 2016年02月17日 > ZHMdTa0o

書き込み順位&時間帯一覧

4 位/182 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000001111000004



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
Excel VBA 質問スレ Part39 [転載禁止]©2ch.net

書き込みレス一覧

Excel VBA 質問スレ Part39 [転載禁止]©2ch.net
959 :デフォルトの名無しさん[sage]:2016/02/17(水) 15:28:29.31 ID:ZHMdTa0o
>>958
まず、ログを適宜出力して、どこで止まったのかを特定すること。
Excel VBA 質問スレ Part39 [転載禁止]©2ch.net
961 :デフォルトの名無しさん[sage]:2016/02/17(水) 16:10:08.40 ID:ZHMdTa0o
>>960
蛇足かも知れないが。

ログはファイルに出力すること。
ここ参照。
http://officetanaka.net/excel/vba/filesystemobject/sample06.htm

どこでログ出力するのかは、
・IEにアクセスするメソッドの前後(これが怪しい)
・各Sub/Functionの入り口と出口
・あと怪しそうな所の前後
Excel VBA 質問スレ Part39 [転載禁止]©2ch.net
964 :デフォルトの名無しさん[sage]:2016/02/17(水) 17:23:45.29 ID:ZHMdTa0o
>>963
あ、あと、DoEventsを適当な所に入れること。
これを最初に言うべきだったか。

参考ページ:
http://officetanaka.net/excel/vba/function/DoEvents.htm
(OFFICE TANAKAのGoogle Top率高杉w)
Excel VBA 質問スレ Part39 [転載禁止]©2ch.net
966 :デフォルトの名無しさん[sage]:2016/02/17(水) 18:11:29.39 ID:ZHMdTa0o
>>965
DoEventsがないと、そのプログラムは「応答なし」になって固まってしまう。(実際は処理をしてるんだけど)
DoEventsを入れると、そのタイミングでWindowsのイベントを処理してくれる。
Windowsのイベントというのは、キー入力とかマウス操作とか。

以下のコードは合計100万回×100万回のループでいつ終わるかわからないけど、実行中もExcelの操作はできるし
マクロの終了ボタンも押せる。

Sub Sample()
  Dim i As Long
  Dim j As Long
  Dim k As Long
  
  Debug.Print "開始"
  For i = 1 To 1000000
    DoEvents
    For j = 1 To 1000000
      k = Rnd * 10
    Next
  Next
  Debug.Print "終了"
End Sub


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。