オブジェクト変数またはWithブロック変数が設定されていません
未読分:3件
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。
Message#3 2014年11月28日(金)10時04分 From: hanako | 返事 削除 変更 |
管理人様 返信ありがとうございます。 イミディエイトウインドウで、「print objIE」とやると、 「Windows Internet Explorer」 と出るのですが、 「print objDOC」(Set objDOC = objIE.Documen)の方は、 [object] と出ます。[object]とは、何でしょうか? objDOCが認識されていないのでしょうか? ご教示お願い致します。 |
Message#2 2014年11月23日(日)00時29分 From: 管理人 | 返事 削除 変更 |
まず以下の部分でブレークポイントを設定して、Set ObjIE = objWindowがセットされているかチェックされてはいかがですか? あと、objDOCが設定されていないようですので、こちらのオブジェクトの設定も必要かと思います。 Set objDoc = objIE.Document など > For Each objWindow In objShell.Windows > If TypeName(objWindow.Document) = "HTMLDocument" Then > If objWindow.Document.url = "https://dms.send.com/opp/jsp/ServletLogin?VIN=&KM=" Then > Set ObjIE = objWindow > Exit For > End If > End If > Next |
Message#1 2014年11月20日(木)12時51分 From: hanako | 返事 削除 変更 |
みなさんこんにちは。IE操作初心者の者です。 社内で使っているセキュリティで保護されたサイト内の「VIN」というところと 「Actual counter」というところに文字を入力して「Search for a vehicle」ボタンを クリックしたいのですが、★★のところで、 「実行時エラー91 オブジェクト変数またはWithブロック変数が設定されていません。」 と出てしまいます。VBAのコードは下記になります。 (サイトは、あらかじめ開いた状態からの操作となります。) Sub useFrame() Dim objFRAME As FramesCollection Dim objDOC As HTMLDocument Dim ObjIE As Object Set objShell = CreateObject("Shell.Application") ' ' Range("a2").Select For Each objWindow In objShell.Windows If TypeName(objWindow.Document) = "HTMLDocument" Then If objWindow.Document.url = "https://dms.send.com/opp/jsp/ServletLogin?VIN=&KM=" Then Set ObjIE = objWindow Exit For End If End If Next '↓ここでエラー ★★ObjIE.Document.getElementsByName("VIN")(0).Value = "abcde" ★★objDOC.Document.all("submit").Click End Sub ソースは下記になります。何がどう間違っているのかわかりません。フレームが3つあるのが 原因なのでしょうか。フォーム名を取得しないといけないのでしょうか? どなたかお分かりの方がいらっしゃいましたらご教示願います。 <html> <head> <META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=ISO-8859-1"> <link rel="stylesheet" HREF="/icm/css/SICM.css" TYPE="text/css"> <title>Identification d'un véhicule..</title> <script src="/icm/js/JICM_CLIENT.js"></script> <script>document.charset="ISO-8859-1";</script> <SCRIPT> function fnOteBlanc() { sVin = document.FormIdentification.VIN.value; sVinTemp = ''; for(i = 0; i < sVin.length; i++) { // alek le 20.03.2001 - ajout oter les caractères spéciaux : code ASCII > 129 (debut) if ((sVin.charAt(i) != ' ')&&(sVin.charCodeAt(i) < '129')) sVinTemp = sVinTemp + sVin.charAt(i); // if(sVin.charAt(i) != ' ') sVinTemp = sVinTemp + sVin.charAt(i); // alek le 20.03.2001 - ajout oter les caractères spéciaux (fin) } document.FormIdentification.VIN.value = sVinTemp; } // JML 01.10.2001 DEB function rechercheAuto() { if (document.FormIdentification.RECH_AUTO.value == "oui") { document.FormIdentification.Bouton_Rechercher.click(); } } // JML 01.10.2001 FIN </SCRIPT> </head> <body class="FondEcran" onLoad="ApresLoad11();afficher_menu(1);MajAide('AICM21.htm');rechercheAuto();"> <form NAME="FormIdentification" method="POST" action="/icm/jsp/RechVehiServlet" target="_parent"> <input type="hidden" name="preaff_vin" value=""> <input type="hidden" name="preaff_cont" value=""> <input type="hidden" name="DATE_VIN"> <input type="hidden" name="UNIT_COMPTEUR" value="KM"> <input type="hidden" name="RECH_AUTO" value="non"> <table border="0" cellpadding="0" cellspacing="1" width="100%"> <tr> <td width="100%" class="TitrePage" colspan="5">Identification of a vehicle</td> </tr> <tr> <td class="Numeros">1</td> <td class="DataTableauGauche">VIN</td> <td class="DataTableauGauche"><input TYPE="text" SIZE="20" NAME="VIN" maxlength="20" ONCHANGE="fnOteBlanc()" value=""></td> <td class="Numeros">2</td> <td class="DataTableauGauche">Actual counter <input TYPE="text" SIZE="5" NAME="KM" maxlength="6" value=""> <select name="ListeKMMI"> <option value="KM" SELECTED>Km </option> <option value="MI">Miles </option> </select></td> </tr> |
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降