オートメーション エラーです。起動されたオブジェクトはクライアントから切断されました。 削除
Message#1 2015年12月3日(木)18時43分 From: xl |
こんにちは このサイトを参考に、 ログインサイトを開いてログインするための下のようなコードを作成したのですが、 スレッドタイトルのようなエラーが出てしまい、実行できません。 デバッグしたところ★の部分で止まっていました。 ステップで見てみると、ie.Navigate でサイトを開くところまで、 正確には Call を実行する直前までは ie の中身があるようです。 (ie.busy のウォッチで確認) 念の為、 サブルーチンをやめて一本で書いてもみましたが同様にNavigateの後ろでNGでした どこがおかしいのでしょうか? ケアレスミスだったらすみません。 windows7 professional 32bit excel 2003 〜〜〜以下コード〜〜〜 ログインサイトのurlは伏せてあります #If VBA7 Then Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal ms As LongPtr) #Else Private Declare Sub Sleep Lib "kernel32" (ByVal ms As Long) #End If Sub 表示() Dim ie As Object Call ieView(ie, "http://ログイン画面.html") ie.document.getelementbyname("USER").Value = "user" ie.document.getelementbyname("PASS").Value = "pass" ie.document.getelementbyname("ログイン").Click End Sub Sub ieView(ie As Object, urlName As String, Optional viewFlg As Boolean = True) Set ie = CreateObject("InternetExplorer.Application") ie.Visible = viewFlg ie.Navigate urlName Call ieCheck(ie) End Sub Sub ieCheck(ie As Object) Dim timeOut As Date timeOut = Now + TimeSerial(0, 0, 20) '★ Do While ie.busy = True Or ie.ReadyState <> 4 DoEvents Sleep 1 If Now > timeOut Then objIE.Refresh timeOut = Now + TimeSerial(0, 0, 20) End If Loop timeOut = Now + TimeSerial(0, 0, 20) Do While ie.document.ReadyState <> "complete" DoEvents Sleep 1 If Now > timeOut Then objIE.Refresh timeOut = Now + TimeSerial(0, 0, 20) End If Loop End Sub |
上のメッセージを削除します。
よければパスワードを入力し、削除ボタンをクリックしてください。