• ベストアンサー

IE7のVB.NETでの操作

Dim IE as Object Dim f As Object IE = CreateObject("InternetExplorer.Application") f = IE.document.forms(0) f.sentaku.click() このようにしてIEのボタンを押そうと考えているのですが、f = IE.document.forms(0)のところでエラーがでて止まってしまいます。 IE7はこのような操作はできなくなってしまったのでしょうか。 IEを終了して開き直して試しても同じ結果で困っています。 解決策を教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

お世話になります。 一応こんなので動きました。 Dim IE As Object = CreateObject("InternetExplorer.Application") Dim f As Object = Nothing Try   IE.Visible = True   IE.Navigate("http://nanikananika/hogehoge.cgi")   While (IE.Busy)   End While   f = IE.Document.Forms(0)   f.ボタン名.Click() Finally   If Not f Is Nothing Then     System.Runtime.InteropServices.Marshal.ReleaseComObject(f)   End If   If Not IE Is Nothing Then     System.Runtime.InteropServices.Marshal.ReleaseComObject(IE)   End If End Try ※環境 Windows XP SP2 IE 7.0.5730.11 .NET FrameWork 2.0

nanasupra
質問者

お礼

ありがとうございます。 オブジェクトの解放は参考になりました。 でもやはり f = IE.Document.Forms(0) のところでエラーが出ます。。。 PCの方がおかしいのでしょうか。 環境は全く同です。

その他の回答 (1)

回答No.2

お世話になります。 以下のコード(前の投稿と変わっているのは IE.Navigate ... Click の部分)で動かなければ、たぶん私と質問者さんの 環境が異なるんだと思います。 そうでなければ、Navigate している URL や、 Forms(x) の x の部分、ボタン名など が原因になると思います。 Dim IE As Object = CreateObject("InternetExplorer.Application") Dim f As Object = Nothing Try   IE.Visible = True   IE.Navigate("http://www.xbox.com/ja-JP/default.htm")   While (IE.Busy)   End While   f = IE.Document.Forms(2)   f.FindAGameSubmit.Click() Finally   If Not f Is Nothing Then     System.Runtime.InteropServices.Marshal.ReleaseComObject(f)   End If   If Not IE Is Nothing Then     System.Runtime.InteropServices.Marshal.ReleaseComObject(IE)   End If End Try

nanasupra
質問者

お礼

どうやらうまくいかないようなので諦めます。 ありがとうございました!

関連するQ&A