下記の質問をいただきました。
起動済みIE、操作済み、既存の表示済みWEB画面を操作したい
と、思いまして、検索してここにたどり着いたんですが、
HPの方にある マクロを試してみたんですが、
Debug.Print "タイプは:" & TypeName(objWindow.document)
ここで、止まってしまいます。
ここをコメントアウトすると、
次の
If TypeName(objWindow.document) = "HTMLDocument" Then
で、止まってしまうんです。
ただ、一度だけ うまく動いた時もあるんですが、
以後、何をしても、ここから先に進めなくなってしまい、困っております。
と、質問をいただきました。
TypeNameが効かない原因が、
参照設定
三流君VBAでIE操作 まずは、参照設定から
http://www.ken3.org/cgi-bin/group/vba_ie_object.asp
だったらいいのですが、
別に参照設定していなくても、使えていたような気がするので、違う原因だとは思います...
せっかく問い合わせをいただいたのですが、
TypeNameでエラーになってしまう件は、
私もわからなくって、お力になれず すみません。
エラーなので、使わない?避けて通ってみる?
根本的な解決策じゃないのですが、
TypeNameで、エラーなので、
TypeNameの確認をしないで使ってみては?
XXXXさんへ 起動済みIE、操作済み、既存の表示済みWEB画面を操作したい - ken3memo (三流君)
http://d.hatena.ne.jp/ken3memo/20110823/1314115156
でも
TypeNameを使っているのですが、
TypeNameの判断を止めて、実験してみるとか?
Sub aaa() 'オブジェクトを格納する変数 Dim objShell As Object, objWindow As Object 'シェルのオブジェクトを作成する Set objShell = CreateObject("Shell.Application") 'ウインドウの数だけまわすぞ For Each objWindow In objShell.Windows Debug.Print "タイトル:" & objWindow.document.Title Debug.Print "URL:" & objWindow.document.URL Next Set objShell = Nothing End Sub
または、
6/5 VBA IE操作 新しいウインドウ(IE)起動後 次の月>を押す 三流サンプル - ken3memo (三流君)
http://d.hatena.ne.jp/ken3memo/20090604/1244142121
みたいに
新しいIEが起動したら、
'起動した IE が 必ず 絶対 一番後ろ と決め付けて(プログラマーに絶対は無いだろクソ三流) Set newIE = objSHELL.Windows(objSHELL.Windows.Count - 1) '↑配列が0からなのでカウント-1 一番後ろのWindowをobjIEに代入
で捕まえて、処理してみるとか。
※一番最後とは限らないし...
お力になれずスミマセン。
一つでも解決のヒントとなれば...
と思いつつ、失礼します。 三流プログラマー Ken3
広告
最強充電 4マルチ USBケーブル with Lightning」4種類 11月29日 伸び率UP
スマートフォン/iPhone/iPad/Galaxy Tabなど各種対応 11月28日 伸び率UP
PLANEX Xperia・X06HT HTC Desire対応 充電& 11月27日 伸び率UP
HAKUBA Amazon 液晶保護フィルム 【安心便利な2枚組み】 P 11月26日 伸び率UP
iPhone5 ライトニング USBケーブル Lightningケーブル 11月25日 伸び率UP
(レイジブルー)RAGEBLUE ネイティブマフラー 508415 → 11月29日 最近販売
【全5色】 半袖形態安定Yシャツカラー無地 sa01 → 11月29日 伸び率UP
ハッピートナカイ/クリスマス/サンタクロース衣装/コスチューム【着ぐるみ 11月28日 最近販売
(ロスコ)ROTHCO ロスコ 米軍 ネックウォーマー デジタルカモ 5 11月28日 伸び率UP
ショート ダッフル コート アウター ブルゾン → 11月27日 最近販売