2

IE の複数のタブで指定された一連のリンクを開くために、VBA を使用してマクロを作成しようとしています。現在、私は以下のコードを使用しています。3 つ以下のタブを開こうとしている場合、ほとんどの場合は機能します。3 を超えると、コードは「Navigate2」セクションでクラッシュします。いくつかの調査の後、これに対する一般的な問題または解決策を見つけることができないようです。コードは次のようになります (明らかな理由により、リンクは削除されています)。

どんな助けでも大歓迎です。

Sub USD_ILB()
  Dim strURL As String
  Dim file_date As String
  Dim objIE As Object
  Dim arrSites(4)

  file_date = Format(Cells(1, 2), "dd.mm.yyyy")

  arrSites(0) = "URL1"
  arrSites(1) = "URL2"
  arrSites(2) = "URL3"
  arrSites(3) = "URL4"
  arrSites(4) = "URL5"
  Set objIE = CreateObject("InternetExplorer.Application")
  For i = 0 To 4 Step 1
     strURL = arrSites(i)
     If i = 0 Then
         objIE.Navigate strURL
     Else
         objIE.Navigate2 strURL, 2048
     End If
  Next i
  objIE.Visible = True
  Set objIE = Nothing

End Sub
4

2 に答える 2

0

2048に関してはobjIE.Navigate2 strURL, 2048

Microsoft Developer Network、MSHTML リファレンス、IWebBrowser2から抽出

object.Navigate2(URL, Flags, TargetFrameName, PostData, Headers)

Flags [in, optional]
.. a combination of the values defined by the BrowserNavConstants enumeration

Enum BrowserNavConstants:  ...  navOpenInNewTab = 2048 ...
于 2016-08-14T20:40:56.190 に答える
0

IE がビジーかどうかのチェックを追加してみてください。

For i = 0 To 4 Step 1
    Do While objIE.Busy
        DoEvents
    Loop
    strURL = arrSites(i)
    If i = 0 Then
        objIE.Navigate strURL
    Else
        objIE.Navigate2 strURL, 2048
    End If
Next i
于 2015-09-22T20:37:19.003 に答える