teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

12

2020/01/31 04:19

投稿

K-G
K-G

スコア4

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 (0, 4). Select
18
+ ActiveCell.Offset(0, 4).Select
19
19
  b = ActiveCell.Value
20
20
  'bにアクティブセルの値を書き込み
21
- Call misumi検索 (a, b)
21
+ Call misumi検索(a, b)
22
22
  'プロシージャ misumi検索を呼び出し
23
- ActiveCell.Offset (1, -5).Select
23
+ ActiveCell.Offset(1, -5).Select
24
24
  Loop
25
25
  End Sub
26
- Sub misumi検索 (KeyWD, Amount)
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 "https://jp.misumi-ec.com/"
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
- .getElementByld(“keyword_go“).Click
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 obiWindow In objShell.Windows
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. readyState <> READYSTATE_COMPLETE
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
- obi.Click
115
+ obj.Click
115
116
  'それをクリック
117
+ End If
116
118
  Exit For
117
119
  Next
118
- Call WaitFor(3)
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. 1).Select
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

2020/01/31 04:18

投稿

K-G
K-G

スコア4

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("InternetExplorer.Application")
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("keyword_input ").Value = KeyWD
53
+ .getElementById(keyword_input).Value = KeyWD
54
54
  'Id要素 (keyword_input)に KeyWD
55
- .getElementByld("keyword_go").Click
55
+ .getElementByld(keyword_go).Click
56
56
  'Id要素 (keyword_go) をクリック
57
57
  End With
58
58
  '省略を終了
59
59
 
60
60
  '移動後のページからリンクを選択
61
- Set objShell = CreateObject("Shell.Application")
61
+ Set objShell = CreateObject(Shell.Application)
62
62
  'Shellをオブジェクトとしてセット
63
63
  For Each obiWindow In objShell.Windows
64
64
  'ウィンドウの中から探す
65
- If objWindow.Name = "Internet Explorer" Then
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("a")
77
+ For Each obj In htmlDoc.getElementsByTagName(a)
78
78
  If obj.innerText = KeyWD Then
79
79
  'インナーテキストの(KeyWD) を探す
80
- Debug. Print obj.innerText
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. readyState < READYSTATE_COMPLETE
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 "javascript:scrollTo(0,500);", 1000
99
+ objIE.document.Script.setTimeout javascript:scrollTo(0,500);, 1000
100
100
  Call WaitFor(2)
101
- For Each obj In htmlDoc.getElementsByClassName("m-inputText--right")
101
+ For Each obj In htmlDoc.getElementsByClassName(m-inputText--right)
102
- 'ClassName "m-input Text--risht"を探して obj に格納
102
+ 'ClassName m-input Text--rishtを探して obj に格納
103
- If obj.innerText = "" Then
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("m-btn--checkPrice VN_opacity")
110
+ For Each obj In htmlDoc.getElementsByClassName(m-btn--checkPrice VN_opacity)
111
- 'ClassName "m-btn--checkPrice VN_opacity" を探して obj に格納
111
+ 'ClassName m-btn--checkPrice VN_opacity を探して obj に格納
112
- obj.innerText = "価格を確認" Then
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("m-cartBox__desc")
120
+ For Each objTag In htmlDoc.getElementsByClassName(m-cartBox__desc)
121
- If objTag.tagname = "dd" Then
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("s", second, Now)
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 "[0-9]" Then: numExtract = numExtract & oneTxt
151
+ If oneTxt Like [0-9] Then: numExtract = numExtract & oneTxt
152
152
  Next i
153
153
  End Function
154
154
  ```

10

2020/01/31 04:04

投稿

K-G
K-G

スコア4

title CHANGED
File without changes
body CHANGED
@@ -10,7 +10,7 @@
10
10
  'Macrol Macro
11
11
 
12
12
  '品番を記憶
13
- Range("E3").Select
13
+ Range(E3).Select
14
14
  'セル E3を選択
15
15
  Do Until ActiveCell.Value = ""
16
16
  a = ActiveCell.Value

9

2020/01/31 04:00

投稿

K-G
K-G

スコア4

title CHANGED
File without changes
body CHANGED
File without changes

8

2020/01/31 01:57

投稿

K-G
K-G

スコア4

title CHANGED
File without changes
body CHANGED
File without changes

7

2020/01/31 01:57

投稿

K-G
K-G

スコア4

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(htmI Doc. Title, strSite) > 0 Then
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

2020/01/31 01:57

投稿

K-G
K-G

スコア4

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.0ffset (1, -5).Select
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.0ffset(0. 1).Select
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

画像の追加

2020/01/31 01:46

投稿

K-G
K-G

スコア4

title CHANGED
File without changes
body CHANGED
@@ -3,7 +3,7 @@
3
3
  その際ミスミで参考価格を一件一件ネットで調べて金額をExcelに手打ちしています。
4
4
  なのでVBAでリストに品番だけ手打ちしてあとはセルから品番をミスミの検索窓に入力、品番のページにて単価を抜き取り、セルの単価列に入力をセルに品番がなくなるまで繰り返し行うコードを初VBAながらネットで調べながら動く様になったのですが、繰り返し中に違う動きをし始めて止まってしまってわからなくなりました。どこが悪いかわからず手が出せない状態です。あともう少し軽く、シンプルにする方法はありますでしょう?見辛いと思いますがよろしくお願いします!
5
5
 
6
-
6
+ ![イメージ説明](5c7b9ef733fba533ca80435638613c49.jpeg)
7
7
  ```ここに言語を入力
8
8
  Sub 参考価格所得
9
9
 

4

2020/01/31 01:43

投稿

K-G
K-G

スコア4

title CHANGED
File without changes
body CHANGED
@@ -3,7 +3,8 @@
3
3
  その際ミスミで参考価格を一件一件ネットで調べて金額をExcelに手打ちしています。
4
4
  なのでVBAでリストに品番だけ手打ちしてあとはセルから品番をミスミの検索窓に入力、品番のページにて単価を抜き取り、セルの単価列に入力をセルに品番がなくなるまで繰り返し行うコードを初VBAながらネットで調べながら動く様になったのですが、繰り返し中に違う動きをし始めて止まってしまってわからなくなりました。どこが悪いかわからず手が出せない状態です。あともう少し軽く、シンプルにする方法はありますでしょう?見辛いと思いますがよろしくお願いします!
5
5
 
6
+
6
- <code>
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</code>
153
+ End Function
154
+ ```

3

2020/01/31 01:29

投稿

K-G
K-G

スコア4

title CHANGED
File without changes
body CHANGED
@@ -3,7 +3,7 @@
3
3
  その際ミスミで参考価格を一件一件ネットで調べて金額をExcelに手打ちしています。
4
4
  なのでVBAでリストに品番だけ手打ちしてあとはセルから品番をミスミの検索窓に入力、品番のページにて単価を抜き取り、セルの単価列に入力をセルに品番がなくなるまで繰り返し行うコードを初VBAながらネットで調べながら動く様になったのですが、繰り返し中に違う動きをし始めて止まってしまってわからなくなりました。どこが悪いかわからず手が出せない状態です。あともう少し軽く、シンプルにする方法はありますでしょう?見辛いと思いますがよろしくお願いします!
5
5
 
6
- ```VBA
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

2020/01/30 22:59

投稿

K-G
K-G

スコア4

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

2020/01/30 22:57

投稿

K-G
K-G

スコア4

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
- obiIE.Visible = True
39
+ objIE.Visible = True
40
40
  'ミスミを開く
41
41
  objIE.navigate "https://jp.misumi-ec.com/"
42
42
  '指定のURLにアクセス