オブジェクト変数またはWithブロック変数が設定されていません

最近の書き込み件数: 今日 0件、昨日 0件
未読分:3件

最新20件 最新50件 最新100件 最新200件 200件以前
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)


Excel VBAでIEを思いのままに操作できるプログラミング術 Excel 2013/2010/2007/2003対応

近田 伸矢, 植木 悠二, 上田 寛

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>

最新20件 最新50件 最新100件 最新200件 200件以前
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降

VBAのIE制御についてのQ&A掲示板

↑エクセルVBAのIE(InternetExplorer)操作で分からない事があればこちらの掲示板よりご質問ください^^

ExcelのVBA初心者入門

↑こちらはExcelのVBAをマスターできるよう初心者向けのエクセルVBA入門コンテンツになります^^

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

VBAでIE(InternetExplorer)制御の準備

エクセルVBAでIE制御の応用編

こちらでは、エクセルVBAで実際に作成したIE(InternetExplorer)制御ツールをまとめています。自動ログインや情報収集など具体的に解説しています。IE(InternetExplorer)制御をされる方は参考にしてください。

【ダウンロード】IE操作に便利なツール

こちらでは、これまでに紹介したIE(InternetExplorer)操作で便利な機能をツール化しています。無償でダウンロードできますので、目的に合わせたご利用ください。

IEオブジェクトのメソッド・プロパティ

こちらでは、IE(InternetExplorer)オブジェクトのメソッド・プロパティをまとめています。

IE操作に利用されているVBA関数

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたVBA関数をまとめています。

IE操作に利用されているステートメント

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたステートメントをまとめています。ExcelのVBAで基本的な部分になりますので、しっかり理解しましょう。

IE(InternetExplorer)制御のVBAコード

こちらでは、これまでに作成したIE(InternetExplorer)操作で役立つサブルーチンをまとめています。
全てをコピーする必要はありませんが、目的に合わせたサブルーチンをご利用ください。

ExcelのVBAで作成した役立つVBAコード

こちらでは、IE(InternetExplorer)制御の利用だけでなく、Excel全般で利用できるVBAコードです。エクセルVBAで役に立つものばかりですので、ご利用ください。

dmb.cgi Ver. 1.068
Copyright(C) 1997-2014, hidekik.com