
現在、秀和システムの「IEを自在に操るExel VBAプログラミング入門」を購入してVBAの勉強をしています。
その本のP.120でOffice.comからタイトルを取得するコードのサンプルがあるのですが、コンパイルエラーが出てしまい試行錯誤しても解決出来ず、行き詰ってしまいました。
その時のコードは下記となります。
========================
Public Sub IE基本_リンク一覧を取得()
Dim ie As New InternetExplorer
ie.Navigate "http://office.microsoft.com/ja-jp/"
ie.Visible = True
While ie.Busy = True Or ie.ReadyState < READYSTATE_COMPLETE
DoEvents
Wend
Dim doc As HTMLdocument
Set doc = ie.Document
Debug.Print doc.Title
End Sub
========================
ちなみにエラーは
”コンパイルエラー:
ユーザー定型型は定義されていません。”
で恐らく”doc As HTMLdocument”に問題があるのかと思っているのですが、
どなたか教えていただけると幸いです。
こちらのPC環境はMicro soft Exel2010となります。
No.1ベストアンサー
- 回答日時:
「ツール」メニューの「参照設定」のところで
Microsoft HTML Object Library
Microsoft Internet Controls
のどちらか、あるいは両方がチェックされていないのではないのではないかと思います。
手元の環境はExcel2007とIE11ですが、それらにチェックしたら動きました。
ご回答誠にありがとうございました。
おっしゃる通り、Microsoft HTML Object Libraryのチェックがされておりませんでした。
こちらをチェックして再度トライした所、今度は
Set doc = ie.Document
こちらが"実行時エラー'13':型が一致しません。"のエラーが発生してしまいました。
色々試行錯誤し、Dim doc As HTMLDocumentを丸ごとカットすることで、タイトルを取得する事が出来たのですが...
No.2
- 回答日時:
エラーが出たとのことですが、実行環境によっては、型が違うのかもしれませんね。
デバッガでウォッチすれば、 ie.Document が実際にどんな型になっているか確認できるかと思います。
なお、
Dim doc As HTMLDocument
を削除すると、暗黙的に
Dim doc As Variant
と宣言したのと同じ意味になります。
Variant型には、Objectを含めた様々な型のデータを格納できます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
DOCTYPE宣言はしなくていいの?
-
5
cssレイアウトでSafariだけがど...
-
6
WindowsとMacでのChromeのスタ...
-
7
HTMLのバージョンの確認方法は?
-
8
古いブラウザーに対応したHPづ...
-
9
非推奨属性 nowrap の使用是非
-
10
DOCTYPE宣言は必要?
-
11
Shift-JISでxml宣言するべき?
-
12
C++Builderでの開発
-
13
スマホでページ内リンクができない
-
14
doc As HTMLdocumentのコンパイ...
-
15
リーバイス?
-
16
指定URLを新しいウィンドウで開...
-
17
AfterEffectsでイージーイーズ...
-
18
H1タグに改行の<br>を使う
-
19
pixivの消えないブックマークタ...
-
20
教えて!キーフレーム
おすすめ情報
公式facebook
公式twitter