質問編集履歴
5
文法の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -13,6 +13,7 @@
|
|
13
13
|
### 該当のソースコード
|
14
14
|
|
15
15
|
```ここに言語を入力
|
16
|
+
|
16
17
|
'変数を必ず定義すると宣言
|
17
18
|
Option Explicit
|
18
19
|
|
@@ -31,52 +32,70 @@
|
|
31
32
|
j = 0 '変数を初期化
|
32
33
|
|
33
34
|
'Internet Exploreを立ち上げる
|
34
|
-
Dim objIE As Object 'IEオブジェクト参照用
|
35
35
|
Set objIE = CreateObject("InternetExplorer.Application")
|
36
36
|
objIE.Visible = True
|
37
|
+
|
38
|
+
'URLを指定する
|
37
|
-
objIE.
|
39
|
+
objIE.Navigate2 "http://hogeho.ge/login.php"
|
38
40
|
|
39
|
-
'該当のWebサイトが表示されるのを待つ
|
40
|
-
|
41
|
+
Do While objIE.Busy = True Or objIE.readyState <> 4
|
41
|
-
|
42
|
+
DoEvents
|
42
|
-
|
43
|
+
Loop
|
43
|
-
|
44
|
-
|
44
|
+
|
45
|
-
|
45
|
+
Dim htmlDoc As HTMLDocument
|
46
46
|
Set htmlDoc = objIE.Document
|
47
47
|
|
48
48
|
With htmlDoc
|
49
|
-
.getElementById("login").Value = "
|
49
|
+
.getElementById("login").Value = "XXXXXXXXX" 'ユーザー名を指定
|
50
50
|
.getElementById("pass").Value = "AAAAAAAAAA" 'パスワードを指定
|
51
51
|
.getElementById("submit").Click
|
52
52
|
End With
|
53
53
|
|
54
|
-
Do While objIE.Busy = True Or objIE.readyState <> 4
|
55
|
-
DoEvents
|
56
|
-
Loop
|
57
54
|
|
58
55
|
Set ieDoc = objIE.Document 'ログイン後のページのHTMLを読み込む
|
59
56
|
|
60
|
-
|
61
|
-
|
57
|
+
|
62
|
-
For Each obj2 In obj.getElementsByTagName("tr") 'trタグを一つずつを変数objにセット
|
63
|
-
|
58
|
+
'該当のWebサイトが表示されるのを待つ
|
64
|
-
i = 0
|
65
|
-
|
59
|
+
While objIE.Busy Or objIE.readyState <> READYSTATE_COMPLETE
|
66
|
-
|
60
|
+
DoEvents
|
67
|
-
|
61
|
+
Wend
|
68
62
|
|
63
|
+
Set ieDoc = objIE.Document
|
64
|
+
|
65
|
+
For Each obj In objIE.Document.all '表示されているサイトの全タグ一つずつを変数objにセット
|
66
|
+
'各アンカータグ単位に以下の処理を実施
|
67
|
+
Select Case obj.tagName 'タグ名により処理を分岐
|
68
|
+
Case "TR", "TD", "TH" 'TR,TD,THタグの場合、以下の処理を実施
|
69
|
+
|
70
|
+
If obj.offsetParent.className = "boardFin yjSt marB6" Then '親タグのCLASS名が「boardFin yjSt marB6」の場合
|
71
|
+
|
72
|
+
Select Case obj.tagName 'タグ名により処理を分岐
|
73
|
+
Case "TR" 'TRタグの場合
|
74
|
+
j = j + 1 '行カウンターを1アップ
|
75
|
+
i = 0 '列カウンターをクリアー
|
76
|
+
Case "TD", "TH" 'TD,THタグの場合、以下を処理
|
77
|
+
i = i + 1 '列カウンターを1アップ
|
78
|
+
|
79
|
+
Worksheets("Sheet1").Cells(j, i).Value = obj.innerText 'タグのテキスト内容をセルにセット
|
80
|
+
|
69
|
-
|
81
|
+
End Select
|
82
|
+
|
83
|
+
End If
|
84
|
+
|
70
|
-
|
85
|
+
End Select
|
86
|
+
|
71
87
|
Next
|
72
|
-
|
88
|
+
|
73
89
|
End Sub
|
74
90
|
|
91
|
+
|
75
92
|
```
|
76
93
|
|
77
94
|
|
78
95
|
### 補足情報(FW/ツールのバージョンなど)
|
79
96
|
|
97
|
+
2019/10/3/23:20 th取得のため 修正いたしました。
|
98
|
+
|
80
99
|
2019/10/3/21:15 修正いたしました。
|
81
100
|
現在の状況:ステップ インでは取得したい値が取得てきております。
|
82
101
|
|
4
文法の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -12,6 +12,7 @@
|
|
12
12
|
|
13
13
|
### 該当のソースコード
|
14
14
|
|
15
|
+
```ここに言語を入力
|
15
16
|
'変数を必ず定義すると宣言
|
16
17
|
Option Explicit
|
17
18
|
|
@@ -44,11 +45,12 @@
|
|
44
45
|
Dim htmlDoc As HTMLDocument
|
45
46
|
Set htmlDoc = objIE.Document
|
46
47
|
|
48
|
+
With htmlDoc
|
47
|
-
|
49
|
+
.getElementById("login").Value = "XXXXXXXXXX" 'ユーザー名を指定
|
48
|
-
|
50
|
+
.getElementById("pass").Value = "AAAAAAAAAA" 'パスワードを指定
|
49
|
-
|
51
|
+
.getElementById("submit").Click
|
52
|
+
End With
|
50
53
|
|
51
|
-
|
52
54
|
Do While objIE.Busy = True Or objIE.readyState <> 4
|
53
55
|
DoEvents
|
54
56
|
Loop
|
@@ -70,6 +72,7 @@
|
|
70
72
|
|
71
73
|
End Sub
|
72
74
|
|
75
|
+
```
|
73
76
|
|
74
77
|
|
75
78
|
### 補足情報(FW/ツールのバージョンなど)
|
3
補足の追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -74,4 +74,7 @@
|
|
74
74
|
|
75
75
|
### 補足情報(FW/ツールのバージョンなど)
|
76
76
|
|
77
|
+
2019/10/3/21:15 修正いたしました。
|
78
|
+
現在の状況:ステップ インでは取得したい値が取得てきております。
|
79
|
+
|
77
80
|
当方Excel2013を使用しています。
|
2
文法の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -30,60 +30,48 @@
|
|
30
30
|
j = 0 '変数を初期化
|
31
31
|
|
32
32
|
'Internet Exploreを立ち上げる
|
33
|
+
Dim objIE As Object 'IEオブジェクト参照用
|
33
34
|
Set objIE = CreateObject("InternetExplorer.Application")
|
34
35
|
objIE.Visible = True
|
35
|
-
|
36
|
-
'URLを指定する
|
37
|
-
objIE.
|
36
|
+
objIE.Navigate "http://hogeho.ge/login.php"
|
38
37
|
|
39
38
|
'該当のWebサイトが表示されるのを待つ
|
40
39
|
While objIE.Busy Or objIE.readyState <> READYSTATE_COMPLETE
|
41
40
|
DoEvents
|
42
41
|
Wend
|
43
|
-
|
44
|
-
|
42
|
+
|
43
|
+
|
45
44
|
Dim htmlDoc As HTMLDocument
|
46
|
-
Set htmlDoc = objIE.
|
45
|
+
Set htmlDoc = objIE.Document
|
47
|
-
|
46
|
+
|
48
|
-
htmlDoc.getElementById("
|
47
|
+
htmlDoc.getElementById("login").Value = "XXXXXXXXXX" 'ユーザー名を指定
|
49
|
-
htmlDoc.getElementById("
|
48
|
+
htmlDoc.getElementById("pass").Value = "AAAAAAAAAA" 'パスワードを指定
|
50
|
-
htmlDoc.getElementById("
|
49
|
+
htmlDoc.getElementById("submit").Click
|
51
|
-
|
52
|
-
Set htmlDoc = Nothing 'ログインページのHTMLをいったん破棄
|
53
50
|
|
51
|
+
|
52
|
+
Do While objIE.Busy = True Or objIE.readyState <> 4
|
53
|
+
DoEvents
|
54
|
+
Loop
|
55
|
+
|
54
|
-
|
56
|
+
Set ieDoc = objIE.Document 'ログイン後のページのHTMLを読み込む
|
57
|
+
|
55
58
|
|
56
|
-
'ログイン後のページのHTMLを読み込む
|
57
|
-
Set htmlDoc = objIE.document
|
58
|
-
|
59
|
-
'tableタグを一つずつを変数objにセット
|
60
|
-
For Each obj In ieDoc.getElementsByTagName("table")
|
59
|
+
For Each obj In ieDoc.getElementsByTagName("table") 'tableタグを一つずつを変数objにセット
|
61
|
-
|
62
|
-
'trタグを一つずつを変数objにセット
|
63
|
-
For Each obj2 In obj.getElementsByTagName("tr")
|
60
|
+
For Each obj2 In obj.getElementsByTagName("tr") 'trタグを一つずつを変数objにセット
|
64
|
-
|
65
|
-
|
61
|
+
j = j + 1 '行カウンターを1アップ
|
66
|
-
j = j + 1
|
67
62
|
i = 0
|
68
63
|
For Each obj3 In obj2.getElementsByTagName("td")
|
69
|
-
|
70
64
|
i = i + 1
|
71
|
-
'タグのテキスト内容をセルにセット
|
72
|
-
Worksheets("
|
65
|
+
Worksheets("Sheet2").Cells(j, i).Value = obj3.innerText 'タグのテキスト内容をセルにセット
|
73
66
|
|
74
67
|
Next
|
75
68
|
Next
|
76
69
|
Next
|
77
|
-
|
78
|
-
|
70
|
+
|
79
71
|
End Sub
|
80
|
-
Function WaitIE(ByRef objIE As Object)
|
81
|
-
Do While objIE.Busy = True Or objIE.readyState <> 4
|
82
|
-
DoEvents
|
83
|
-
Loop
|
84
|
-
End Function
|
85
72
|
|
86
73
|
|
74
|
+
|
87
75
|
### 補足情報(FW/ツールのバージョンなど)
|
88
76
|
|
89
77
|
当方Excel2013を使用しています。
|
1
文法の修正
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
ExcelVBAを使って管理画面ログイン後Tableをシートに出力
|
1
|
+
ExcelVBAを使って管理画面ログイン後Tableをシートに出力したい
|
body
CHANGED
File without changes
|