サンプルコードについて

このQ&Aのポイント
  • サンプルコードのエラー発生原因と解決方法について
  • VB6.0sp5,Win98se,IE5.5sp2でのサンプルコードの実行におけるエラーの解決方法についてアドバイスをお願いします
  • サンプルコードのエラーメッセージ「ユーザー定義型は定義されていません」の原因と解決方法について教えてください
回答を見る
  • ベストアンサー

サンプルコードについて

こんばんは。 http://www.microsoft.com/JAPAN/msdn/columns/webteam/webteam03052001.asp#save 上記のページ「最新の GIF の保存」の「Web Team の回答」のサンプルコードなのですが、  Dim collImages As IHTMLElementCollection  Dim img As IHTMLImgElement に関して、「ユーザー定義型は定義されていません」とエラーが出てしまいます。 『まず新しい VB EXE プロジェクトを作成し、WebBrowser コントロールを追加し wbMain という名前を付けます。その後以下のコードをフォームに貼り付けます。』の記載の通りに組んでみました。 一体、何が原因でエラーが発生するのでしょうか? 是非、アドバイスを下さい。よろしくお願いします。 ** 環境 ** VB6.0sp5,Win98se,IE5.5sp2 VB歴1年弱、APIは学び始めの状態です

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

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

参照設定で Microsoft HTML Object Library (mshtml.tlb)にチェックをつけて下さい。

adachi
質問者

お礼

回答していただき、本当にありがとうございます。加えて、返信が遅くなってしまったことをお詫び申し上げます。 「Microsoft HTML Object Library」にチェックをつけてみたところ、見事に解決することができました。う~ん、マニュアルのどこを見落としていたのでしょう(苦笑) 長い時間悩んでいたため、エラーが出なかったことにとても感激しています。本当にありがとうございました。今後もよろしくお願いします。

関連するQ&A

  • VB6 実行時エラー -2(fffffffe)

    VB6で作成したAPでエラーで出て困っております。 調べても解決策が見つからず、皆様のお力をお借りしたいと思います。 【環境】 Windows XP SP3 microsoft visual studio 6.0 sp6 【現象】 webbrowserコントロールを利用し、GIFファイルの表示を行う処理で以下のエラーが発生。 実行時エラー '-2(fffffffe)': オートメーション エラーです 【ソース】 Private GifLoad As Boolean -------------------------------------------------------------------------------- Private Sub GifFileLoad()   Dim Hstyl As HTMLStyle   Dim GifName As String   GifName = Gifファイルのフルパス   WebBrowser.Navigate GifName   GifLoad = False   '表示を読み込むまで待機   Do      DoEvents←ここでエラーが発生   Loop Until GifLoad   Set Hstyl = WebBrowser.Document.Body.Style   With Hstyl      .OverFlow = "hidden"       .MarginLeft = "0px"      .MarginTop = "0px"   End With   Set Hstyl = Nothing End Sub -------------------------------------------------------------------------------- Private Sub WebBrowser_DocumentComplet(ByVal pDisp As Object,URL As Variant)   GifLoad = True End Sub -------------------------------------------------------------------------------- エラー発生後、メッセージのデバッグボタンでデバッグモードに移行すると、問題なくDoEventsを通り抜けます。単純にResume Naxtを追記したらいいだけのような気もするのですが、エラーの内容、原因が特定できず悩んでいます。 この事象に対して情報をお持ちの方がおられましたら、ご教授お願いいたします。

  • WebBrowserで特定の要素を削除

    Form内で表示されているWebBrowserで特定の要素たとえば<img>とか<script>とかを削除(排除)させて表示したいです。 VBを使い初めてまだ間もないです。 一応今使ってるのはVB2008ですが2005系の回答でも結構です^^ またYahoo!知恵袋のほうでも同じ質問が出ていたようですが解決はしていないようです。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1019157800 試してみたもの Dim instance As HtmlElement Dim name As String instance.RemoveAttribute(name) これをDocument_Completedイベントの中に記述しました。以下エラー 'RemoveAttribute' は 'System.Windows.Forms.HtmlElement' のメンバではありません。 また、それに似たのもMSDNにありますが、駄目でした。 http://msdn.microsoft.com/ja-jp/library/system.windows.browser.htmlelement.removeattribute%28VS.95%29.aspx

  • Windows7 & VB6(SP6) & office2010(Bata)

    WindowsXP & VB6(SP5) & office2003の組み合わせで プログラミングをしておりました。 Windows7 & VB6(SP6) & office2010(Bata)の組み合わせで テストをしております。 Dim wApp As Excel.Application ここで、 コンパイルエラー ユーザー型は定義されていません。 と、なってしまいます。 解決方法を教えて下さい。宜しくお願い致します。

  • .NET 文字コードの変換

    VB2008で文字列を他の文字コードにする方法が知りたいです。 何かしての部分がわかりません。 VB2005でも使えるものだったらうれしいです。 Dim str_sjis as string Dim str_euc as string = "パソコン" '例えばEUC-JP '''何かして str_sjisにシフトJISで文字列が入っている。 .Netの文字コードの変換の仕方がごちゃごちゃして分かりづらいです。

  • VBA:コンパイルエラー

    http://www.microsoft.com/japan/msdn/columns/office/office06012000.asp にて示されたWebクエリダイアログを作成中: 以下の 'エラー の行で 「compile error:メソッドまたはデータメンバが見つかりません」 が発生、頓挫中。 ご教授お願いします。 Dim gcolTablesOnPage(15) As String Dim gintCurrentRecord As Integer Private Declare Sub Sleep Lib "KERNEL32" (ByVal dwMilliseconds As Long) Private Sub CB1_Click() WebBrowser1.Navigate2 "http://quote.yahoo.co.jp/m3?u" Call Sleep(5999) MsgBox "*" Set colTables = WebBrowser1.Document.all.tags("TABLE") End Sub Private Sub CB3_Click() Dim colTables As Object Dim colCurrentTable As Object Dim intcntr As Integer With WebBrowser1 gintCurrentRecord = 0 Set colTables = .Document.all.tags("TABLE") For Each colCurrentTable In colTables Call cHTM(colCurrentTable.outerhtml, gintCurrentRecord) gintCurrentRecord = gintCurrentRecord + 1 Next colCurrentTable End With End Sub Function cHTM(x, gintCurrentRecord) Dim tempHtml As String tempHtml = gcolTablesOnPage(gintCurrentRecord) tempHtml = "<HTML><HEAD><TITLE></TITLE></HEAD><BODY>" & x & "</BODY></HTML>" End Function Private Sub CB5_Click() Dim gintCurrentRecord As Integer gintCurrentRecord = 0 If Me.gintCurrentRecord < gcolTablesOnPage.Count Then 'エラー Me.gintCurrentRecord = Me.gintCurrentRecord + 1 WebBrowser1.Navigate2 gcolTablesOnPage(Me.gintCurrentRecord) End If ge.Count End Function

  • CreateObjectとNewの違い

    Microsoft XML Parserを使用したいと思っています。 VBを立ち上げ、標準EXEのプロジェクトで、参照設定を Microsoft XML v2.6(なぜ2.6か不明) にして、 dim xDoc as MSXML.DOMDocument set xDoc = New MSXML.DOMDocument とコーディングすると、実行時に、 コンパイルエラー:ユーザ定義型は定義されていません*** と怒られます。 でも、 Dim xDoc As Object Set xDoc = CreateObject("MSXML.DOMDocument") とすると、実行できます。 どうして、***のようなエラーが出るのですか? 両方ともエラーが出るならつじつまが合っている気がするのですが、 そうじゃないのですか? 環境は OS:Win98SE,VB6.0(SP5),IE5.5(SP1) です。 よろしくお願いします。

  • .ToStringのありなし

    VB2008を使っています。 Dim s As String '文字列型 s = WebBrowser1.DocumentText '------ (1) と s = WebBrowser1.DocumentText.ToString '------ (2) は、どちらが正しいのでしょうか? 厳密な違いも知りたいです。 (1)のサンプルも良く見かけますので・・・

  • DataObjectの使用

    ワードのVBでヘルプを見ながら Dim MyDataObject As DataObject を宣言しましたが、コンパイルすると「ユーザー定義型は定義されていません」とエラーになります。どこが間違っているのでしょうか?

  • VB6では、Applicationは未定義なのでしょうか?

    VB6を使ってプログラムを書いているのですが、以下のソースの部分で エラーになりました。 Dim winname As String winname = Application.Caption <-- Applicationが未定義?  コンパイルエラー 変数が定義されていません。 というエラーメッセージが表示されます。 VB6では、Applicationは未定義なのでしょうか?

  • vb→access コーディングエラーについて

    <環境>access2007 vbコーディングした以下のコードをaccessに移行しているのですが、宣言で"Excel.~"となっているところでコンパイルエラーとなります。 (エラー:ユーザー定義型は定義されていません。) なので、全てObject型に変えたのですが、 (1)objBook.Names.Countで件数が取れないし、 (2)For Each objName In objBook.Namesで名前も取れません。 accessで動くようにどう直せばいいのでしょうか? よろしくお願いします。 <vbコード> Dim XLAPP As Excel.Application →Objectに変更 Dim objBook As Excel.Workbook →Objectに変更 Dim objName As Excel.Name →Objectに変更 Dim objTable As Excel.Range →Objectに変更 Dim objRange As Excel.Range →Objectに変更 Dim objColumn As Excel.Range →Objectに変更 Dim objRow As Excel.Range →Objectに変更 Dim i As Integer Dim lngCountSheet As Long Set XLAPP = CreateObject("Excel.Application") Set objBook = XLAPP.Workbooks.Open(FileName) objBook.Application.DisplayAlerts = False lngCountSheet = objBook.Names.Count (1)←ここ For Each objName In objBook.Names (2)←ここ Set objTable = objName.RefersToRange With objTable For i = 1 To .Columns.Count Set objColumn = .Columns(i) objColumn.HorizontalAlignment = XlHAlign.xlHAlignLeft Set objColumn = Nothing Next i '先頭行の書式設定をします Set objRow = .Rows(1) objRow.Interior.Color = RGB(192, 192, 192) ' .Range("A2").Activate '' ActiveWindow.FreezePanes = True ' XLAPP.ActiveWindow.FreezePanes = True End With Next XLAPP.Quit

専門家に質問してみよう