質問編集履歴
12
title
CHANGED
File without changes
|
body
CHANGED
@@ -15,15 +15,15 @@
|
|
15
15
|
Do Until ActiveCell.Value = ““
|
16
16
|
a = ActiveCell.Value
|
17
17
|
'aにアクティブセルの値を書き込み
|
18
|
-
ActiveCell.Offset
|
18
|
+
ActiveCell.Offset(0, 4).Select
|
19
19
|
b = ActiveCell.Value
|
20
20
|
'bにアクティブセルの値を書き込み
|
21
|
-
Call misumi検索
|
21
|
+
Call misumi検索(a, b)
|
22
22
|
'プロシージャ misumi検索を呼び出し
|
23
|
-
ActiveCell.Offset
|
23
|
+
ActiveCell.Offset(1, -5).Select
|
24
24
|
Loop
|
25
25
|
End Sub
|
26
|
-
Sub misumi検索
|
26
|
+
Sub misumi検索(KeyWD, Amount)
|
27
27
|
|
28
28
|
'変数を宣言
|
29
29
|
Dim objIE As InternetExplorer
|
@@ -37,8 +37,9 @@
|
|
37
37
|
Set objIE = CreateObject(“InternetExplorer.Application“)
|
38
38
|
'IEをオブジェクトとしてセット
|
39
39
|
objIE.Visible = True
|
40
|
+
'IEを開く
|
40
41
|
'ミスミを開く
|
41
|
-
objIE.navigate
|
42
|
+
objIE.navigate “https://jp.misumi-ec.com/“
|
42
43
|
'指定のURLにアクセス
|
43
44
|
Do While objIE.Busy = True Or objIE.readyState < READYSTATE_COMPLETE
|
44
45
|
DoEvents
|
@@ -52,7 +53,7 @@
|
|
52
53
|
'htmlDocを省略
|
53
54
|
.getElementById(“keyword_input“).Value = KeyWD
|
54
55
|
'Id要素 (keyword_input)に KeyWD
|
55
|
-
.
|
56
|
+
.getElementById(“keyword_go“).Click
|
56
57
|
'Id要素 (keyword_go) をクリック
|
57
58
|
End With
|
58
59
|
'省略を終了
|
@@ -60,12 +61,12 @@
|
|
60
61
|
'移動後のページからリンクを選択
|
61
62
|
Set objShell = CreateObject(“Shell.Application“)
|
62
63
|
'Shellをオブジェクトとしてセット
|
63
|
-
For Each
|
64
|
+
For Each objWindow In objShell.Windows
|
64
65
|
'ウィンドウの中から探す
|
65
66
|
If objWindow.Name = “Internet Explorer“ Then
|
66
67
|
Set objIE = objWindow
|
67
68
|
'変数をセット
|
68
|
-
Do While objIE.Busy Or objIE.
|
69
|
+
Do While objIE.Busy Or objIE.readyState <> READYSTATE_COMPLETE
|
69
70
|
DoEvents
|
70
71
|
Loop
|
71
72
|
'ぺージの読み込みが完了するまで繰り返し処理
|
@@ -109,20 +110,21 @@
|
|
109
110
|
Next
|
110
111
|
For Each obj In htmlDoc.getElementsByClassName(“m-btn--checkPrice VN_opacity“)
|
111
112
|
'ClassName “m-btn--checkPrice VN_opacity“ を探して obj に格納
|
112
|
-
obj.innerText = “価格を確認“ Then
|
113
|
+
If obj.innerText = “価格を確認“ Then
|
113
114
|
'その中から innerText が “価格を確認“ を探して選択
|
114
|
-
|
115
|
+
obj.Click
|
115
116
|
'それをクリック
|
117
|
+
End If
|
116
118
|
Exit For
|
117
119
|
Next
|
118
|
-
Call WaitFor(
|
120
|
+
Call WaitFor(5)
|
119
121
|
Set htmlDoc = objIE.document
|
120
122
|
For Each objTag In htmlDoc.getElementsByClassName(“m-cartBox__desc“)
|
121
123
|
If objTag.tagname = “dd“ Then
|
122
124
|
End If
|
123
125
|
Exit For
|
124
126
|
Next
|
125
|
-
ActiveCell.Offset(0
|
127
|
+
ActiveCell.Offset(0, 1).Select
|
126
128
|
ActiveCell.Value = numExtract(objTag.innerText)
|
127
129
|
objIE.Quit
|
128
130
|
For Each objWindow In objShell.Windows
|
11
title
CHANGED
File without changes
|
body
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
'品番を記憶
|
13
13
|
Range(“E3“).Select
|
14
14
|
'セル E3を選択
|
15
|
-
Do Until ActiveCell.Value =
|
15
|
+
Do Until ActiveCell.Value = ““
|
16
16
|
a = ActiveCell.Value
|
17
17
|
'aにアクティブセルの値を書き込み
|
18
18
|
ActiveCell.Offset (0, 4). Select
|
@@ -34,7 +34,7 @@
|
|
34
34
|
Dim objWindow As Object
|
35
35
|
|
36
36
|
'IEを開く
|
37
|
-
Set objIE = CreateObject(
|
37
|
+
Set objIE = CreateObject(“InternetExplorer.Application“)
|
38
38
|
'IEをオブジェクトとしてセット
|
39
39
|
objIE.Visible = True
|
40
40
|
'ミスミを開く
|
@@ -50,19 +50,19 @@
|
|
50
50
|
'htmlDocをセット
|
51
51
|
With htmlDoc
|
52
52
|
'htmlDocを省略
|
53
|
-
.getElementById(
|
53
|
+
.getElementById(“keyword_input“).Value = KeyWD
|
54
54
|
'Id要素 (keyword_input)に KeyWD
|
55
|
-
.getElementByld(
|
55
|
+
.getElementByld(“keyword_go“).Click
|
56
56
|
'Id要素 (keyword_go) をクリック
|
57
57
|
End With
|
58
58
|
'省略を終了
|
59
59
|
|
60
60
|
'移動後のページからリンクを選択
|
61
|
-
Set objShell = CreateObject(
|
61
|
+
Set objShell = CreateObject(“Shell.Application“)
|
62
62
|
'Shellをオブジェクトとしてセット
|
63
63
|
For Each obiWindow In objShell.Windows
|
64
64
|
'ウィンドウの中から探す
|
65
|
-
If objWindow.Name =
|
65
|
+
If objWindow.Name = “Internet Explorer“ Then
|
66
66
|
Set objIE = objWindow
|
67
67
|
'変数をセット
|
68
68
|
Do While objIE.Busy Or objIE. readyState <> READYSTATE_COMPLETE
|
@@ -74,10 +74,10 @@
|
|
74
74
|
'htmlDocをセット
|
75
75
|
If InStr(htmlDoc.Title, strSite) > 0 Then
|
76
76
|
'htmlDocのタイトルの中からサイト名の文字列を探す
|
77
|
-
For Each obj In htmlDoc.getElementsByTagName(
|
77
|
+
For Each obj In htmlDoc.getElementsByTagName(“a“)
|
78
78
|
If obj.innerText = KeyWD Then
|
79
79
|
'インナーテキストの(KeyWD) を探す
|
80
|
-
Debug.
|
80
|
+
Debug.Print obj.innerText
|
81
81
|
obj.Click
|
82
82
|
それをクリック
|
83
83
|
Call WaitFor(4)
|
@@ -91,34 +91,34 @@
|
|
91
91
|
'KeyWDクリック後のページで数量変更し参考価格を確認
|
92
92
|
Set htmlDoc = objIE.document
|
93
93
|
'htmlDoctをセット
|
94
|
-
Do While objIE.Busy Or objIE.
|
94
|
+
Do While objIE.Busy Or objIE.readyState < READYSTATE_COMPLETE
|
95
95
|
DoEvents
|
96
96
|
Loop
|
97
97
|
Call WaitFor(2)
|
98
98
|
'スクロール
|
99
|
-
objIE.document.Script.setTimeout
|
99
|
+
objIE.document.Script.setTimeout “javascript:scrollTo(0,500);“, 1000
|
100
100
|
Call WaitFor(2)
|
101
|
-
For Each obj In htmlDoc.getElementsByClassName(
|
101
|
+
For Each obj In htmlDoc.getElementsByClassName(“m-inputText--right“)
|
102
|
-
'ClassName
|
102
|
+
'ClassName “m-input Text--risht“を探して obj に格納
|
103
|
-
If obj.innerText =
|
103
|
+
If obj.innerText = ““ Then
|
104
|
-
'その中から innerText が
|
104
|
+
'その中から innerText が ““ を探して選択
|
105
105
|
obj.Value = Amount
|
106
106
|
'値を Amount に書き換える
|
107
107
|
Exit For
|
108
108
|
End If
|
109
109
|
Next
|
110
|
-
For Each obj In htmlDoc.getElementsByClassName(
|
110
|
+
For Each obj In htmlDoc.getElementsByClassName(“m-btn--checkPrice VN_opacity“)
|
111
|
-
'ClassName
|
111
|
+
'ClassName “m-btn--checkPrice VN_opacity“ を探して obj に格納
|
112
|
-
obj.innerText =
|
112
|
+
obj.innerText = “価格を確認“ Then
|
113
|
-
'その中から innerText が
|
113
|
+
'その中から innerText が “価格を確認“ を探して選択
|
114
114
|
obi.Click
|
115
115
|
'それをクリック
|
116
116
|
Exit For
|
117
117
|
Next
|
118
118
|
Call WaitFor(3)
|
119
119
|
Set htmlDoc = objIE.document
|
120
|
-
For Each objTag In htmlDoc.getElementsByClassName(
|
120
|
+
For Each objTag In htmlDoc.getElementsByClassName(“m-cartBox__desc“)
|
121
|
-
If objTag.tagname =
|
121
|
+
If objTag.tagname = “dd“ Then
|
122
122
|
End If
|
123
123
|
Exit For
|
124
124
|
Next
|
@@ -139,7 +139,7 @@
|
|
139
139
|
End Sub
|
140
140
|
Function WaitFor(ByVal second As Integer)
|
141
141
|
Dim futureTime As Date
|
142
|
-
futureTime = DateAdd(
|
142
|
+
futureTime = DateAdd(“s“, second, Now)
|
143
143
|
While Now < futureTime
|
144
144
|
DoEvents
|
145
145
|
Wend
|
@@ -148,7 +148,7 @@
|
|
148
148
|
Dim i As Integer
|
149
149
|
For i = 1 To Len(strValue)
|
150
150
|
oneTxt = Mid(strValue, i, 1)
|
151
|
-
If oneTxt Like
|
151
|
+
If oneTxt Like “[0-9]“ Then: numExtract = numExtract & oneTxt
|
152
152
|
Next i
|
153
153
|
End Function
|
154
154
|
```
|
10
title
CHANGED
File without changes
|
body
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
'Macrol Macro
|
11
11
|
|
12
12
|
'品番を記憶
|
13
|
-
Range(
|
13
|
+
Range(“E3“).Select
|
14
14
|
'セル E3を選択
|
15
15
|
Do Until ActiveCell.Value = ""
|
16
16
|
a = ActiveCell.Value
|
9
title
CHANGED
File without changes
|
body
CHANGED
File without changes
|
8
title
CHANGED
File without changes
|
body
CHANGED
File without changes
|
7
title
CHANGED
File without changes
|
body
CHANGED
@@ -72,7 +72,7 @@
|
|
72
72
|
Call WaitFor(3)
|
73
73
|
Set htmlDoc = objIE.document
|
74
74
|
'htmlDocをセット
|
75
|
-
If InStr(
|
75
|
+
If InStr(htmlDoc.Title, strSite) > 0 Then
|
76
76
|
'htmlDocのタイトルの中からサイト名の文字列を探す
|
77
77
|
For Each obj In htmlDoc.getElementsByTagName("a")
|
78
78
|
If obj.innerText = KeyWD Then
|
6
title
CHANGED
File without changes
|
body
CHANGED
@@ -20,7 +20,7 @@
|
|
20
20
|
'bにアクティブセルの値を書き込み
|
21
21
|
Call misumi検索 (a, b)
|
22
22
|
'プロシージャ misumi検索を呼び出し
|
23
|
-
ActiveCell.
|
23
|
+
ActiveCell.Offset (1, -5).Select
|
24
24
|
Loop
|
25
25
|
End Sub
|
26
26
|
Sub misumi検索 (KeyWD, Amount)
|
@@ -122,7 +122,7 @@
|
|
122
122
|
End If
|
123
123
|
Exit For
|
124
124
|
Next
|
125
|
-
ActiveCell.
|
125
|
+
ActiveCell.Offset(0. 1).Select
|
126
126
|
ActiveCell.Value = numExtract(objTag.innerText)
|
127
127
|
objIE.Quit
|
128
128
|
For Each objWindow In objShell.Windows
|
5
画像の追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
その際ミスミで参考価格を一件一件ネットで調べて金額をExcelに手打ちしています。
|
4
4
|
なのでVBAでリストに品番だけ手打ちしてあとはセルから品番をミスミの検索窓に入力、品番のページにて単価を抜き取り、セルの単価列に入力をセルに品番がなくなるまで繰り返し行うコードを初VBAながらネットで調べながら動く様になったのですが、繰り返し中に違う動きをし始めて止まってしまってわからなくなりました。どこが悪いかわからず手が出せない状態です。あともう少し軽く、シンプルにする方法はありますでしょう?見辛いと思いますがよろしくお願いします!
|
5
5
|
|
6
|
-
|
6
|
+

|
7
7
|
```ここに言語を入力
|
8
8
|
Sub 参考価格所得
|
9
9
|
|
4
title
CHANGED
File without changes
|
body
CHANGED
@@ -3,7 +3,8 @@
|
|
3
3
|
その際ミスミで参考価格を一件一件ネットで調べて金額をExcelに手打ちしています。
|
4
4
|
なのでVBAでリストに品番だけ手打ちしてあとはセルから品番をミスミの検索窓に入力、品番のページにて単価を抜き取り、セルの単価列に入力をセルに品番がなくなるまで繰り返し行うコードを初VBAながらネットで調べながら動く様になったのですが、繰り返し中に違う動きをし始めて止まってしまってわからなくなりました。どこが悪いかわからず手が出せない状態です。あともう少し軽く、シンプルにする方法はありますでしょう?見辛いと思いますがよろしくお願いします!
|
5
5
|
|
6
|
+
|
6
|
-
|
7
|
+
```ここに言語を入力
|
7
8
|
Sub 参考価格所得
|
8
9
|
|
9
10
|
'Macrol Macro
|
@@ -22,7 +23,6 @@
|
|
22
23
|
ActiveCell.0ffset (1, -5).Select
|
23
24
|
Loop
|
24
25
|
End Sub
|
25
|
-
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
|
26
26
|
Sub misumi検索 (KeyWD, Amount)
|
27
27
|
|
28
28
|
'変数を宣言
|
@@ -137,7 +137,6 @@
|
|
137
137
|
Exit For
|
138
138
|
Next
|
139
139
|
End Sub
|
140
|
-
--------------------------------------------
|
141
140
|
Function WaitFor(ByVal second As Integer)
|
142
141
|
Dim futureTime As Date
|
143
142
|
futureTime = DateAdd("s", second, Now)
|
@@ -145,11 +144,11 @@
|
|
145
144
|
DoEvents
|
146
145
|
Wend
|
147
146
|
End Function
|
148
|
-
----------------------------------------------------
|
149
147
|
Function numExtract(strValue As String) As String
|
150
148
|
Dim i As Integer
|
151
149
|
For i = 1 To Len(strValue)
|
152
150
|
oneTxt = Mid(strValue, i, 1)
|
153
151
|
If oneTxt Like "[0-9]" Then: numExtract = numExtract & oneTxt
|
154
152
|
Next i
|
155
|
-
End Function
|
153
|
+
End Function
|
154
|
+
```
|
3
title
CHANGED
File without changes
|
body
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
その際ミスミで参考価格を一件一件ネットで調べて金額をExcelに手打ちしています。
|
4
4
|
なのでVBAでリストに品番だけ手打ちしてあとはセルから品番をミスミの検索窓に入力、品番のページにて単価を抜き取り、セルの単価列に入力をセルに品番がなくなるまで繰り返し行うコードを初VBAながらネットで調べながら動く様になったのですが、繰り返し中に違う動きをし始めて止まってしまってわからなくなりました。どこが悪いかわからず手が出せない状態です。あともう少し軽く、シンプルにする方法はありますでしょう?見辛いと思いますがよろしくお願いします!
|
5
5
|
|
6
|
-
|
6
|
+
<code>
|
7
7
|
Sub 参考価格所得
|
8
8
|
|
9
9
|
'Macrol Macro
|
@@ -152,4 +152,4 @@
|
|
152
152
|
oneTxt = Mid(strValue, i, 1)
|
153
153
|
If oneTxt Like "[0-9]" Then: numExtract = numExtract & oneTxt
|
154
154
|
Next i
|
155
|
-
End Function
|
155
|
+
End Function</code>
|
2
title
CHANGED
File without changes
|
body
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
その際ミスミで参考価格を一件一件ネットで調べて金額をExcelに手打ちしています。
|
4
4
|
なのでVBAでリストに品番だけ手打ちしてあとはセルから品番をミスミの検索窓に入力、品番のページにて単価を抜き取り、セルの単価列に入力をセルに品番がなくなるまで繰り返し行うコードを初VBAながらネットで調べながら動く様になったのですが、繰り返し中に違う動きをし始めて止まってしまってわからなくなりました。どこが悪いかわからず手が出せない状態です。あともう少し軽く、シンプルにする方法はありますでしょう?見辛いと思いますがよろしくお願いします!
|
5
5
|
|
6
|
-
|
6
|
+
```VBA
|
7
7
|
Sub 参考価格所得
|
8
8
|
|
9
9
|
'Macrol Macro
|
1
title
CHANGED
File without changes
|
body
CHANGED
@@ -36,7 +36,7 @@
|
|
36
36
|
'IEを開く
|
37
37
|
Set objIE = CreateObject("InternetExplorer.Application")
|
38
38
|
'IEをオブジェクトとしてセット
|
39
|
-
|
39
|
+
objIE.Visible = True
|
40
40
|
'ミスミを開く
|
41
41
|
objIE.navigate "https://jp.misumi-ec.com/"
|
42
42
|
'指定のURLにアクセス
|