何度も Nothing -> CreateObject しようとするとエラーになることがある。
Set oIE = Nothing での処理がすぐ完結しないときがあるようで、その後に実行される Set oIE = CreateObject("InternetExplorer.Application") のところでこのエラーが出るといった具合です。
対策として「IEを利用するときに、既にIEがいるならそれをバインドして利用する。ないなら生成する。」の場合、
' IEオブジェクトを取得するなければ作成する Public Function getIE() As Object Dim objSh As Object Dim objW As Object Dim i As Integer 'IEがすでに立ち上がっている場合はそれを活用する Set objSh = CreateObject("Shell.Application") For i = objSh.Windows.Count To 1 Step -1 Set objW = objSh.Windows(i - 1) If objW.FullName Like "*iexplore.exe" Then Set getIE = objW Exit Function End If Next '見つからなかった場合は新規作成する Set getIE = CreateObject("InternetExplorer.Application") getIE.Visible = True End Function
ネタ元