2017-09-28 3 views
2

データを正常に取得するとアプリケーションを終了した後、再帰的に開き、クローズできません。なぜこれが起こっているのかを明確にしてください。VBAでの再帰を避けるために明確化が必要

Sub macro() 
    Dim appIE As Object 
    Dim objElement As Object 
    Dim Y As Long 
    Dim obj As Object 
    Dim r As Long, c As Long, t As Long 
    Dim sathish As String 

    Dim objCollection As Object 
    Dim eRow As Long 

    ' Create InternetExplorer Object 
    Set appIE = CreateObject("InternetExplorer.Application") 

    With appIE 
     appIE.Visible = False 
     appIE.navigate "website" 

     Do While appIE.Busy Or appIE.ReadyState <> 4 
      DoEvents 
     Loop 

     appIE.Visible = True 
     appIE.document.getElementById("Username").Value = "" 
     appIE.document.getElementById("Password").Value = "" 
     appIE.document.getElementById("btnSubmit").Click 

     Number = Range("A1", Range("A1").End(xlDown)).Rows.Count 
     Number = 10 

     For Y = 1 To Number 
      sathish = Cells(Y, 1).Value 
      appIE.document.getElementById("__tab_tabFilter").Click 
      appIE.document.getElementById("filter_ReferenceCode").Value = sathish 
      appIE.document.getElementById("filter_btnSetFilter").Click 
      'Set IE = Nothing 
      Set objCollection = appIE.document.getElementsByTagName("TABLE") 

      For t = 10 To (objCollection.Length - 1) 
       For r = 0 To (objCollection(t).Rows.Length - 1) 
        eRow = Sheet2.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row 

        For c = 0 To (objCollection(t).Rows(r).Cells.Length - 1) 
         ThisWorkbook.Worksheets(2).Cells(eRow, c + 1) = objCollection(t).Rows(r).Cells(c).innerText 
        Next c 
       Next r 

       If t = objCollection.Length - 1 Then 
        Cells(eRow + 1, 1) = "" 
       End If 
      Next t 
     Next Y 
    End With 
    ' Set IE = Nothing 
End Sub 
+0

サブ/ファンクションが再度呼び出されたか、またはVBA自体が再オープンしたことを意味しますか? – Paramone

+0

はい、vba自体が再オープンします –

+0

セルが更新されたときに他のコードが応答することがありますか?例えば。ワークシート変更イベント。あなたのモジュールの一番上に 'Application.EnableEvents = False'を入れて、最後に' Application.EnableEvents = True'を入れてみてください。このSubが実行されている間、イベントは無効になります。 –

答えて

0

ドキュメント上の「クリック」は、新しいブラウザのウィンドウ/タブでドキュメントを開くことができますか?

関連する問題