フォームのテキストボックス自動入力とボタンクリック
未読分:1件
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。
Message#1 2014年12月2日(火)20時35分 From: ロボット | 返事 削除 変更 |
いくつかのところで、質問させていただきましたが、やはりダメなので、 もう一度改めて質問させていただきます。 「abc」と「counter」のテキストボックスに、文字を入力して、 submitボタンを押したいのですが、 何をやっても(下記のコード)、全てエラーになってしまいます。 何がダメなのかすらわかりません。 どなたかわかる方、ご教示お願い致します。 HTMLソースです。 <html> <head> <META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=ISO-8859-1"> <link rel="stylesheet" HREF="SSM.css" TYPE="text/css"> <title></title> <script src="/JSSM_CLIENT.js"></script> <script>document.charset="ISO-8859-1";</script> <SCRIPT> function fnOteBlanc() { sVin = document.FormIdentification.abc.value; sVinTemp = ''; for(i = 0; i < sVin.length; i++) { // alek le 20.03.2001 - ajout oter les : 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 (end) } document.FormIdentification.abc.value = sVinTemp; } // JML 01.10.2001 DEB function rechercheAuto() { if (document.FormIdentification.RECH_AUTO.value == "yes") { 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="/abc/jsp/eeServlet" target="_parent"> <table border="0" cellpadding="0" cellspacing="1" width="100%"> <tr> <td width="100%" class="TitrePage" colspan="5">code check</td> </tr> <tr> <td class="number">1</td> <td class="DataT">abc</td> <td class="DataT"><input TYPE="text" SIZE="20" NAME="abc" maxlength="20" ONCHANGE="fnOteBlanc()" value=""></td> <td class="number">2</td> <td class="DataT">counter <input TYPE="text" SIZE="5" NAME="def" maxlength="6" value=""> </tr> <td class="DataT"> <input type="submit" value="Submit" name="Bouton_Rech" onClick="return(b_Continuer11());"> </td> <tr> </table> </form> </body> </html> 続いて、マクロのコードです(URLは、開いている状態から始める設定です。bodyというフレーム内での操作です)。 Sub rtrt() 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 = "URL" Then Set ObjIE = objWindow Exit For End If End If Next Set objFRAME = ObjIE.Document.frames Debug.Print "フレームの数は" & objFRAME.Length 'フレームの数は3つ Set objDOC = objFRAME("Body").Document ObjIE.Document.getElementsByName("abc")(0).Value = "abcde" '実行時エラー91:オブジェクト変数またはWithブロック変数が設定されていません。 objDOC.Document.getElementsByName("abc")(0).Value = "abcde" 'オブジェクトは、このプロパティまたはメソッドをサポートしていません。 objDOC.all("abc").innerHTML = "あいうえお" ''実行時エラー91:オブジェクト変数またはWithブロック変数が設定されていません。 'objDOC.all("abc").SetAttribute("Value", "あいうえお") 'そもそも構文エラー objDOC.VIN.Value = "VBA からの書き込み" '実行時エラー438:オブジェクトは、このプロパティまたはメソッドをサポートしていません。 objDOC.Document("abc").Value = "Ken3" '実行時エラー438:オブジェクトは、このプロパティまたはメソッドをサポートしていません。 Set txtOutput = ObjIE.Document.getElementByName("abc") '実行時エラー438:オブジェクトは、このプロパティまたはメソッドをサポートしていません。 txtOutput.Value = "VBA からの書き込み" objDOC.Document.all("Bouton_Rech").Click '実行時エラー438:オブジェクトは、このプロパティまたはメソッドをサポートしていません。 End Sub |
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降