動作しないとメッセージをいただく
http://www.ken3.org/vba/backno/vba097.html
オートメーションエラーです。エラーを特定出来ません。
>webに掲載されていましたwebの自動ログインのソースをそのままコピーして
>実行してみました。そしうしましたところ、IEが立ち上がり、
>"けんぞうのめんてこな世界"が表示され、
>IDおよびパスワードの蘭にデータが自動で入力されず、
>下記のメッセージが現れました。何が原因でしょうか?
>http://www.ken3.org/vba/backno/vba097.html
ie.Document.documentElement.innerHTMLがエラーになります。 >エクセルのバージョンは2000です。バージョンが古いのでしょうか?原因は表示待ち?かなぁ。
こんにちは。
自分のテストページで こけているので 恥ずかしいのですが、
表示待ちができていないと思います
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
こんな感じでエラーが発生していると思います。
http://www.youtube.com/watch?v=mTZOKAXSzBM
Sub ie_test() Dim objIE As Object 'IEオブジェクト参照用 'インターネットエクスプローラーのオブジェクトを作る Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True '見えるようにする(お約束) '文字列で指定したURLに飛ぶ objIE.Navigate "http://www.ken3.org/cgi-bin/test/test068.html" '表示終了まで待つ ※表示待ちができていない。 Do While objIE.Busy = True '何もしないループ(笑) DoEvents Loop '項目名を指定して、データをセットする objIE.document.all.userid.Value = "Ken3" 'ユーザー名 objIE.document.all.pass.Value = "aaa" 'パスワード End Subここ
'表示終了まで待つ ※表示待ちができていない。 Do While objIE.Busy = True '何もしないループ(笑) DoEvents Loopで、表示待ちができていないので、
.ReadyState プロパティ http://ken3-info.blog.ocn.ne.jp/objie/2009/06/readystate_1393.html
を追加で見る(条件に入れる)といいみたいです。While objIE.ReadyState <> 4 'READYSTATE_COMPLETE = 4 DoEvents 'Doeventsは重いので嫌いな人居るけど Wendみたいな感じで、追加してみます(Orで条件を見てみます)
Sub ie_test() Dim objIE As Object 'IEオブジェクト参照用 'インターネットエクスプローラーのオブジェクトを作る Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True '見えるようにする(お約束) '文字列で指定したURLに飛ぶ objIE.Navigate "http://www.ken3.org/cgi-bin/test/test068.html" '表示終了まで待つ ※表示待ち .Busyか.ReadyStateが4以外 Do While objIE.Busy = True Or objIE.ReadyState <> 4 'READYSTATE_COMPLETE = 4 '何もしないループ(笑) DoEvents Loop '項目名を指定して、データをセットする objIE.document.all.userid.Value = "Ken3" 'ユーザー名 objIE.document.all.pass.Value = "aaa" 'パスワード End Sub変なサンプルでご迷惑をおかけしてスミマセン。
無事に動くことを願いつつ、失礼します。 三流プログラマー Ken3