回答編集履歴
12
追記
test
CHANGED
@@ -22,7 +22,13 @@
|
|
22
22
|
|
23
23
|
また、参照設定(事前バインディング)をしたので、IEのインスタンスの生成は、CreateObjectではなく、Newに変えました。
|
24
24
|
|
25
|
-
(参照設定して、CreateObjectしてしまうと2重になってしまうかもしれないので)
|
25
|
+
(参照設定して、CreateObjectしてしまうと2重になってしまうかもしれないので。また、インテリセンスが使いたかったので。)
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
もちろん、参照設定しないなら、Newではなく、CreateObject に戻してください。
|
30
|
+
|
31
|
+
「Microsoft HTML Object Library」がらみのものについても、CreateObject のようなことが必要だと思います。
|
26
32
|
|
27
33
|
|
28
34
|
|
11
ミス修正
test
CHANGED
@@ -78,7 +78,7 @@
|
|
78
78
|
|
79
79
|
'HTMLソースの中の、「<A>タグの部分」を総ざらいします。
|
80
80
|
|
81
|
-
For Each anc_anchor01 In
|
81
|
+
For Each anc_anchor01 In hd_htdoc.getElementsByTagName("A")
|
82
82
|
|
83
83
|
|
84
84
|
|
@@ -90,7 +90,11 @@
|
|
90
90
|
|
91
91
|
'以下の処理。
|
92
92
|
|
93
|
+
|
94
|
+
|
93
|
-
|
95
|
+
'ヒットした各Webページの部分の、
|
96
|
+
|
97
|
+
'タイトルやらURLやタグやら全部を変数に代入
|
94
98
|
|
95
99
|
s_HTML = anc_anchor01.outerHTML
|
96
100
|
|
@@ -98,15 +102,17 @@
|
|
98
102
|
|
99
103
|
If 0 < InStr(1, s_HTML, "<h3", vbBinaryCompare) Then
|
100
104
|
|
105
|
+
|
106
|
+
|
101
|
-
|
107
|
+
'ヒットした各Webページのタイトル部分のみを変数に代入
|
102
108
|
|
103
109
|
s_txt = anc_anchor01.outerText
|
104
110
|
|
105
111
|
|
106
112
|
|
107
|
-
'anc_anchor01.outerText の中に
|
113
|
+
'anc_anchor01.outerText(ヒットしたタイトル) の中に
|
108
114
|
|
109
|
-
'含まれてしまっていたので "--" に置換して消す。
|
115
|
+
'「改行」がいくつか含まれてしまっていたので "--" に置換して消す。
|
110
116
|
|
111
117
|
Range("A" & i) = Replace(s_txt, vbCrLf, "--", , , vbBinaryCompare)
|
112
118
|
|
10
追記
test
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
|
8
8
|
|
9
|
-
私もよくわかってないのですみませんが、当方でも色々試してみましたら、以降のコードで、一応、検索結果のタイトルとURLが取得できました。
|
9
|
+
私もよくわかってないのですみませんが、当方でも色々試してみましたら、以降のコードで、一応、検索結果のタイトルとURLが取得できました。Excelのアクティブシートに書き出しています。
|
10
10
|
|
11
11
|
|
12
12
|
|
9
追記
test
CHANGED
@@ -182,9 +182,9 @@
|
|
182
182
|
|
183
183
|
※追記
|
184
184
|
|
185
|
-
今、この本、ちゃんとさらーっと読み直してみたら、すごくよさそうです。今後ももしIE操作を細かく自動化したかったら、買っておいても損はないかもです。
|
185
|
+
今、この本、ちゃんと最後までさらーっと読み直してみたら、すごくよさそうです。今後ももしIE操作を細かく自動化したかったら、買っておいても損はないかもです。
|
186
186
|
|
187
|
-
著者のサイト?かは不明ですが、以下のサイトもよさげです。本に書いてることよりも詳しい説明も載っていました。
|
187
|
+
著者のサイト?かは不明ですが、以下のサイトもよさげです。本に書いてることよりも詳しい説明も載っていました。(本書にもこのようなことが書かれています。本から入った方がわかりやすいと思います。)
|
188
188
|
|
189
189
|
https://www.vba-ie.net/sp/element/getelementsbytagname.php
|
190
190
|
|
8
追記
test
CHANGED
@@ -177,3 +177,15 @@
|
|
177
177
|
|
178
178
|
|
179
179
|
IEの操作はそういった本を1冊買っておいた方が早いかもしれません。
|
180
|
+
|
181
|
+
|
182
|
+
|
183
|
+
※追記
|
184
|
+
|
185
|
+
今、この本、ちゃんとさらーっと読み直してみたら、すごくよさそうです。今後ももしIE操作を細かく自動化したかったら、買っておいても損はないかもです。
|
186
|
+
|
187
|
+
著者のサイト?かは不明ですが、以下のサイトもよさげです。本に書いてることよりも詳しい説明も載っていました。
|
188
|
+
|
189
|
+
https://www.vba-ie.net/sp/element/getelementsbytagname.php
|
190
|
+
|
191
|
+
各Tipsの目次らしきページ→ https://www.vba-ie.net/qanda/qanda.cgi
|
7
追記
test
CHANGED
@@ -13,6 +13,8 @@
|
|
13
13
|
条件分岐の中で、「anc_anchor01.Click」みたいな感じで「Clickメソッド」を使うと、そのページへ飛ぶこともできます。ただ、別のタブに表示する方法がわかりませんでした。
|
14
14
|
|
15
15
|
「InternetExplorer getelementsbytagname 使い方」みたいな感じでWeb検索したら、もしかしたら、何か出てくるかもしれません。
|
16
|
+
|
17
|
+
あと、「<h3」という<h3>タグの一部があったら、タイトルを取得しているようにしていますが、これはHTMLソースを見たら、たまたまGoogleがh3を使っていたようなのでそうしました。なのでほかのタグが使われているページでは正常動作しないと思います。つまり、「<h3」だけでなく「<h2」なども分岐に加えたほうがいいかもしれません。(私もHTMLタグは詳しくないのでよくわかっていません!すみません!)
|
16
18
|
|
17
19
|
|
18
20
|
|
6
追記
test
CHANGED
@@ -7,6 +7,12 @@
|
|
7
7
|
|
8
8
|
|
9
9
|
私もよくわかってないのですみませんが、当方でも色々試してみましたら、以降のコードで、一応、検索結果のタイトルとURLが取得できました。
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
条件分岐の中で、「anc_anchor01.Click」みたいな感じで「Clickメソッド」を使うと、そのページへ飛ぶこともできます。ただ、別のタブに表示する方法がわかりませんでした。
|
14
|
+
|
15
|
+
「InternetExplorer getelementsbytagname 使い方」みたいな感じでWeb検索したら、もしかしたら、何か出てくるかもしれません。
|
10
16
|
|
11
17
|
|
12
18
|
|
5
追記
test
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
回答ではなくてヒント?ですみません。
|
2
2
|
|
3
3
|
また、「上位10件」ではなく、「検索結果の最初のページにヒットしたものだけ」の処理です。
|
4
|
+
|
5
|
+
「動画」とか「画像」みたいなのが一番上に表示されてしまっている場合はその部分は無視しています。
|
4
6
|
|
5
7
|
|
6
8
|
|
4
追記
test
CHANGED
@@ -94,6 +94,10 @@
|
|
94
94
|
|
95
95
|
|
96
96
|
|
97
|
+
'anc_anchor01.outerText の中に「改行」がいくつか
|
98
|
+
|
99
|
+
'含まれてしまっていたので "--" に置換して消す。
|
100
|
+
|
97
101
|
Range("A" & i) = Replace(s_txt, vbCrLf, "--", , , vbBinaryCompare)
|
98
102
|
|
99
103
|
Range("B" & i) = anc_anchor01.href
|
3
ミス修正
test
CHANGED
@@ -66,7 +66,7 @@
|
|
66
66
|
|
67
67
|
|
68
68
|
|
69
|
-
|
69
|
+
'HTMLソースの中の、「<A>タグの部分」を総ざらいします。
|
70
70
|
|
71
71
|
For Each anc_anchor01 In ie.Document.getElementsByTagName("A")
|
72
72
|
|
2
追記
test
CHANGED
@@ -66,17 +66,19 @@
|
|
66
66
|
|
67
67
|
|
68
68
|
|
69
|
+
’HTMLソースの中で、「<A>タグの部分を総ざらいします。
|
70
|
+
|
69
71
|
For Each anc_anchor01 In ie.Document.getElementsByTagName("A")
|
70
72
|
|
71
73
|
|
72
74
|
|
73
75
|
'「anc_anchor01.outerHTML」の中に、
|
74
76
|
|
75
|
-
'「<h3」というタグの一部があったら
|
77
|
+
'「<h3」という<h3>タグの一部があったら、
|
76
78
|
|
77
|
-
'検索結果の中のタイトルを取得できる
|
79
|
+
'検索結果の中のタイトルを取得できるっぽいので
|
78
80
|
|
79
|
-
'
|
81
|
+
'以下の処理。
|
80
82
|
|
81
83
|
|
82
84
|
|
1
追記
test
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
回答ではなくてヒント?ですみません。
|
2
|
+
|
3
|
+
また、「上位10件」ではなく、「検索結果の最初のページにヒットしたものだけ」の処理です。
|
2
4
|
|
3
5
|
|
4
6
|
|