質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Internet Explorer

Internet Explorer(IE;MSIE)はマイクロソフトが開発したウェブブラウザです。Microsoft Windowsに組み込まれています。

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

Q&A

解決済

5回答

1963閲覧

excel VBA macroでInternetExplorerから情報を入手したい

KANNORYUJI

総合スコア7

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Internet Explorer

Internet Explorer(IE;MSIE)はマイクロソフトが開発したウェブブラウザです。Microsoft Windowsに組み込まれています。

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

0グッド

0クリップ

投稿2020/11/07 11:33

問題経緯
そのために下記コードを実行しようと試みるもどういう訳か
ieobj.documentのところでオートメーションエラーという表示が出てしまい先に進まない
Dim doc As HTMLDocument: Set doc = ieobj.document
何故エラーなのかが理解できない

実現したいこと
internet explorerから特定の情報を取得したい
入手したい情報は下記リンクの食品成分の表の情報を取得してエクセルに書き出したいです。
https://fooddb.mext.go.jp/result/result_top.pl?USER_ID=17072

'
Sub getiewindow()
Application.ScreenUpdating = False
Dim ieobj As InternetExplorer: Set ieobj = New InternetExplorer
Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("list")
Dim shell As Object: Set shell = CreateObject("Shell.Application")
Dim win As Object
For Each win In shell.Windows
If win.Name = "Internet Explorer" Then
Set ieobj = win
Exit For
End If
Next win
Call writedata(ieobj)
End Sub

Sub writedata(ieobj As InternetExplorer)
Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("list")
Dim r As Long, c As Long
Dim cnt As Long: cnt = 1

Dim doc As HTMLDocument: Set doc = ieobj.document Dim target As IHTMLElement Set target = doc.getElementById("result_table") Dim tdtags As IHTMLElementCollection Set tdtags = target.getElementsByTagName("td") Dim tdtag As IHTMLElement For Each tdtag In tdtags r = cnt \ 11 + 2 c = cnt Mod 11 + 1 ws.Cells(r, c).Value = tdtag.innerText cnt = cnt + 1 Next tdtag Set doc = Nothing

End Sub
Sub waitIE2(ieobj)
Do While ieobj.Busy = True Or ieobj.readyState < READYSTATE_COMPLETE '読み込み待ち
DoEvents
Loop
End Sub
コード

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答5

0

ベストアンサー

kannoryuji様  「ツール」タブをクリックして参照設定を開いて
該当する項目にチックをいれてください。
オブジェクトライブラリーの設定です 
やり方は、「Excel塾のマクロ講座中級編68回」を観てください。

投稿2020/11/11 14:00

syousuke.33

総合スコア312

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/11/12 06:57 編集

New InternetExplorer は通過してるので参照設定はしてますね。 そもそも、オートメーションエラーが出てる時点で参照設定ではないでしょう。 型が定義されてないとかそんなエラーになるはず。
guest

0

どういう訳かも何も、
何も理解せずコピペしてるんじゃないですか。

VBAは特に情報量多いですし、
IE操作についてもたくさん記事ありますし、
最低限理解してから動かしてみてはどうでしょう。

取り敢えずIEのオブジェクト生成後に
ieobj.Visible = True を実行して、
実際に IE がどうなってるのか見たらすぐ分かります。

あと「コードの挿入」の使い方が間違ってます。

VBA

1test

こうなります。

投稿2020/11/11 07:44

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

I appreciate the tips on negotiating with your toronto internet. It's saved me money in the past!

投稿2023/09/13 13:19

sotera8477

総合スコア26

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Every year, thousands of customers around the world choose MaroCar for a cheap car hire in Morocco. The platform operates in the main cities of the kingdom (Casablanca, Marrakech, Tangiers, Rabat …) and delivers its cars to the address of your choice or directly to the main airports in the country. My Car Import

投稿2023/09/07 08:41

sotera8477

総合スコア26

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

When it comes to internet providers in Vancouver, it's not just about speed – reliability matters too.

投稿2023/08/08 08:57

sotera8477

総合スコア26

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問