• ベストアンサー

型InternetExplorerが未定義エラーに

Visual Studio 2010 Express の VB.NET + .NET Framework 4 でIEを操作するアプリを作成しようとしています。 そこで、下記のステートメントで題記エラーとなっています。    Dim WithEvents objIE As InternetExplorer    参照設定は下記を追加しています。 Microsoft Internet Controls Microsoft HTML Object Library 対策方法をご教示頂きたくよろしくお願いします。

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

  • ベストアンサー
  • Senna_FF
  • ベストアンサー率45% (153/334)
回答No.1

>参照設定は下記を追加しています。 >Microsoft Internet Controls COMを使用するのですよね? でしたらラッパクラスは「SHDocVw」では? Dim WithEvents objIE As SHDocVw.InternetExplorer

isunsun
質問者

お礼

早速回答頂きありがとうございました。 教えて頂いたとおりでエラーが修正されました。 VB初心者で悪戦苦闘していたところ大変助かりました。

関連するQ&A

  • ExcelでWithEventsが記述できない

    クラスモジュールに下記のように記述すると、赤く表示されエラー状態になります。 Dim WithEvents text as string WithEvents を削除するとエラーが解消されます。WithEventsについて色々検索しましたが 原因が分かりません。 何か参照設定等が必要なのでしょうか。ご存じの方教えてください。 ちなみに、バージョンはExcel2003 で、参照可能なライブラリは現在つぎのとおりです。 Visual Basic For Applications Microsoft Excel 11.0 Object Library OLE Automation Microsoft Office 11.0 Object Library Microsoft Forms 2.0 Object Library Microsoft ActiveX Data Objects 2.8 Library Microsoft Visual Basic for Applications Extensibility 5.3

  • コンパイルエラー:ユーザ定義型は定義されていません、と出るのですがどのライブラリファイルかわかりません。

    VB6で以前誰かが作ったプログラムの修正をしているのですが、コンパイルができません。 コンパイルエラー:ユーザ定義型は定義されていません。と表示されてしまします。 参照設定のライブラリファイルにチェックを入れればいいと思うのですが、どのライブラリファイルにチェックを入れればいいのかわかりません。 どなたか教えていただけないでしょうか? 現在チェックが入れてあるのは Visual Basic For Applications Microsoft Access 10.0 Object Library OLE Automation Microsoft Visual Basic for Applications Extensibility5.3 Microsoft DAO3.6 Object Library の五つです。 ソースは以下のとおりです。 ------------------------------------------- Private Sub timTimer_Timer() Dim objCmpct As PharmitCompact timTimer.Enabled = False Set objCmpct = New PharmitCompact objCmpct.DatabaseFolder = App.path & "\Database" objCmpct.DBCompactType = phrCmpTypeAll objCmpct.Exec Set objCmpct = Nothing Unload Me End Sub --------------------------------------------- 上のソースで objCmpct As PharmitCompact の部分の色がエラーで変化します。 原因が違っていたらごめんなさい。 どうぞよろしくお願い致します。

  • DocumentCompleteイベントプロシジャに制御が渡らない

    VB6(VBA)でIEを操作し、表示ページのソースの読込みの確認にDocumentCompleteイベントを使用することを考えています。それで下記のテストプログラムを作成しますたが、DocumentCompleteイベントプロシジャに制御が渡りません。 その原因をご教示して頂きたくお願いします。 Dim WithEvents objIE As InternetExplorer --------------------------------------------------------------- Private Sub CommandButton1_Click() Dim objIE As Object Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate "http://www.yahoo.co.jp/" While objIE.readyState <> 4 While objIE.Busy = True DoEvents Wend Wend objIE.Navigate "http://www.goo.ne.jp/" While objIE.readyState <> 4 While objIE.Busy = True DoEvents Wend Wend End Sub ------------------------------------------------------------- Private Sub objIE_DocumentComplete(ByVal pDisp As Object, URL As Variant) MsgBox "ソースの読込み完了" End Sub

  • VBからInternet Explorer

    こんにちは。 VBから、現在開いているInternet Explorerのウィンドウに特定のページを表示させることはできないでしょうか。 Dim ObjIE As Object Set ObjIE = CreateObject("InternetExplorer.Application") ObjIE.Navigate "なんたらかんたら" ObjIE.Visible = True でいったん、ブラウザを新規に開きました。いま作ったObjIEに別のページを開くときは、Set ObjIE = Notingを実行せずにObjIE.Navigateでまた別のページを指定すればいいのはわかったのですが、その前にユーザがIEの×ボタンを押してブラウザを閉じてしまった場合、ObjIEがないのでObjIE.Navigateが実行できず、エラーが出てしまいます。 ObjIEがまだ開いているときはそこに開き、ObjIEが閉じられてしまったときは新規に開くには、どうしたらいいでしょうか。 ObjIEが閉じられたかどうか参照する方法があるのかどうかがわかりません。 知っている方がいらしゃいましたらよろしくお願いします。

  • IEの操作(Busy)でエラーになる

    下記コードを実行するとBusyの所でエラーになってしまいます。 何が悪いのでしょうか?教えて下さい。 Excel2000で起動しました。 Sub tst031() Dim fff As String 'ファイルパス Dim objIE As Object 'オブジェクト Dim Myhtml As Variant 'HTMLタグデータ Dim objTAG As Object '制御htmlファイル fff = "http://oshiete.goo.ne.jp/" 'Webページ表示 Set objIE = CreateObject("InternetExplorer.Application") objIE.Navigate fff '画面表示待ち Do While objIE.Busy = True DoEvents Loop For Each objTAG In objIE.document.body.all Debug.Print objTAG.tagName Next objIE.Quit 'MsgBox Myhtml End Sub

  • Internet Explorerでデパックしたい

    現在、Microsoft Visual Studio 2005を使用してjavaの プログラムを書いているのですがデパックするときfire foxが立ち上がります。 Internet Explorerを立ち上げるにはどうしたらいいのでしょうか?? 教えてください!!

  • InternetExplorer.Applicat

    Sub test1() Dim objIE As Object Dim i As Long Dim MyRow As Long Dim Str As String Dim tmp As Variant Set objIE = CreateObject("InternetExplorer.Application") objIE.Navigate "http://oshiete.goo.ne.jp/" objIE.Visible = True Do While objIE.Busy = True DoEvents Loop Str = objIE.Document.Body.innerHTML 'ソースを抜き出す tmp = Split(Str, Chr(10)) '配列に格納する MyRow = 1 '初期値 For i = LBound(tmp) To UBound(tmp) Cells(MyRow, 1) = tmp(i) MyRow = MyRow + 1 Next i objIE.Quit Set objIE = Nothing End Sub ************************************************** Sub test2() Dim objIE As Object Dim Str As String Dim tmp As Variant Dim i As Long Dim MyRow As Long Set objIE = CreateObject("MSXML2.XMLHTTP") objIE.Open "GET", "http://oshiete.goo.ne.jp/", False objIE.Send Str = objIE.responseText 'ソースを抜き出す tmp = Split(Str, Chr(10)) '配列に格納する MyRow = 1 '初期値 For i = LBound(tmp) To UBound(tmp) Cells(MyRow, 1) = tmp(i) MyRow = MyRow + 1 Next i Set objIE = Nothing End Sub ************************************************** 上記の二つのコードは どちらもVBAでHTMLソースをエクセルに書き出すコードなのですが 結果が違います。 なぜなのでしょうか? 実際のソースを確認したら CreateObject("MSXML2.XMLHTTP") の方が正しかったです。 CreateObject("InternetExplorer.Application") は何が取得されてるのでしょうか?

  • VBの記述方法はVBAと同じなのですか?

    これからVisual Studio 2012を導入してVBA(Excel)でやっていたことをVSでやりたいのですが 基本的にVSのVisual Basicの記述方法はVBAと同じなのでしょうか? 例えばネットのあるサイトをログインして遷移後のhtmlを取得するには、VBAだと以下のように書きます。 Dim objIE As Object Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate "http://xxxxxx/login.aspx" objIE.document.All.txt_userid.Value = xxx 'ユーザー名 objIE.document.All.txt_pass.Value = xxx 'パスワード objIE.document.All.btn_login.Click '送信結果のページ読み込みが終わるまでループ While (objIE.Busy = True Or objIE.ReadyState <> 4)  DoEvents Wend '表示したページの<BODY>部のHTMLを取得 Dim htmlBody As String htmlBody = objIE.Document.Body.InnerHtml C#で記述しようか、慣れているVBAと似ているVBで書こうか悩んでいます。 どうぞよろしくお願い致します。

  • エクセルのスクレイピングでエラー

    エクセルVBAでスクレイピングをしたいのですが、エラーが出てしまいます。わかる方がいましたらご教授下さい。 ■環境 Windows10(64bit) ■インストールしたドライバ類 SeleniumBasic-2.0.9.0.exe ChromeDriver 91.0.4472.19 chromedriver_win32.zip ■チェックを入れた参照設定 Visual Basic For Application Microsoft Excel 16.0 Object Library OLE Automation Microsoft Office 16.0 Object Library Microsoft Internet Control Microsoft HTML Object Library Selenium Type Librrary ■プロシージャ Sub test()   Dim Driver As New Selenium.WebDriver Driver.Start "chrome", "https://www.yahoo.co.jp/" Driver.Get "/" Driver.Close Set Driver = Nothing End Sub ■エラー内容 3行目「Driver.Start "chrome", "https://www.yahoo.co.jp/"」の所で 「実行時エラー33」が表示される

  • Excel VBA でエラーが

    Windows8.1 , Excel2013 のVBA で Internet Explorer を動かそうとしています。 ところが添付画像のエラーが出ます。 参照設定で Microsoft Internet Controls Microsoft HTML Object Library には追加でチェックを入れています。 今までVBAでマクロは問題なく作れていたのですが、これでIEを動かそうとするのは初めてです。 解決策を教えてください。

専門家に質問してみよう