過去の回答を参考にエクセルでWEB画面をすべて選択しエクセルの所定のセルに貼り付けするマクロを作成しました。処理を追加していった結果、下記のようなマクロが完成しました。ステップインで動作確認できましたが、マクロ実行から動かすと途中で止まります。
止まる箇所は、
While objIE.readyState <> READYSTATE_COMPLETE Or objIE.Busy = True
DoEvents
Wend
DoEvents
この記述でWEBが遅く開く時に対応するよう作成しましたが、ここで止まります。(抜け出せません)
また、この記述を削るとステップインではうまく動きますが、マクロの実行から動かすと何回目かで
objIE.ExecWB 17, 0
すべて選択するときに止まります。
どこが悪いのか教えていただけないでしょうか?
使用、作成したのは、excel2007 及びexcel2010です。どちらでも動きません。
よろしくお願い致します。
Sub test()
Dim URL As String
Dim URL2 As String
Dim URL3 As String
Dim CD As String
Dim i As Integer
For i = 1 To 199
CD = Worksheets("CD").Cells(i + 1, 1).Value
URL2 = "貼り付けたいWEBのURL"
URL3 = CD ’縦一列にコードを入力しているシート
URL = URL2 & URL3
Dim objIE As Object
Set objIE = CreateObject("InternetExplorer.application")
objIE.Visible = True
objIE.navigate URL
While objIE.readyState <> READYSTATE_COMPLETE Or objIE.Busy = True
DoEvents
Wend
DoEvents
objIE.ExecWB 17, 0
objIE.ExecWB 12, 0
Sheets.Add
ActiveSheet.Name = 199 - i
Range("A1").Select
ActiveSheet.PasteSpecial Format:="HTML"
objIE.Quit
Set objIE = Nothing
Next
End Sub
よろしくお願いいたします。