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

質問編集履歴

5

コード修整

2021/11/29 06:13

投稿

tfulcrum
tfulcrum

スコア43

title CHANGED
File without changes
body CHANGED
@@ -9,6 +9,7 @@
9
9
 
10
10
  Dim objIE
11
11
 
12
+ Set WSHShell=Wscript.CreateObject("Wscript.shell")
12
13
  Set objIE = WScript.CreateObject("InternetExplorer.Application")
13
14
  objIE.Visible = True
14
15
 
@@ -19,7 +20,8 @@
19
20
  'Set objIE = Nothing
20
21
 
21
22
  Sub Login(url, user, pass)
22
- objIE.Navigate url
23
+ objIE.Navigate2 url
24
+ 'set f=objIE.document.forms(0)
23
25
  Call WaitIE(objIE)
24
26
  '//ログイン情報入力
25
27
  'objIE.document.getElementsByName("inuserid")(0).Value = user
@@ -40,14 +42,20 @@
40
42
  ' msgbox "PWを入れる場所間違い"
41
43
  ' WScript.Quit
42
44
  end if
45
+ Call WaitIE(objIE)
43
46
  '//ログインボタンクリック
44
- Call WaitIE(objIE)
45
47
  'objIE.Document.getElementsByTagName("login")(0).Submit
46
- set objButton = objIE.Document.f0.getElementsByName("login")
48
+ set objButton = objIE.Document.getElementsByName("login")
49
+ if objButton.length=0 Then
50
+ 'msgbox ("エラーです")
51
+ objIE.quit()
52
+
53
+ end if
47
54
  'objButton(0).click
48
- 'objButton[SubmitForLogin()].submit
55
+ 'objButton[WXPSubmitForLogin()].submit
49
- objButton(f0).submit
56
+ 'objButton(f0).submit
50
57
  'objButton.f0.submit
58
+ objButton.item(0).click()
51
59
 
52
60
  'With objIE.document
53
61
  '.f0.submit
@@ -55,6 +63,7 @@
55
63
 
56
64
  Call WaitIE(objIE)
57
65
  End Sub
66
+
58
67
  '*********************
59
68
  '* IEのページがロードされるまで待つ関数
60
69
  '***********************

4

コード追加

2021/11/29 06:13

投稿

tfulcrum
tfulcrum

スコア43

title CHANGED
File without changes
body CHANGED
@@ -41,6 +41,7 @@
41
41
  ' WScript.Quit
42
42
  end if
43
43
  '//ログインボタンクリック
44
+ Call WaitIE(objIE)
44
45
  'objIE.Document.getElementsByTagName("login")(0).Submit
45
46
  set objButton = objIE.Document.f0.getElementsByName("login")
46
47
  'objButton(0).click
@@ -54,6 +55,15 @@
54
55
 
55
56
  Call WaitIE(objIE)
56
57
  End Sub
58
+ '*********************
59
+ '* IEのページがロードされるまで待つ関数
60
+ '***********************
61
+ Sub WaitIE(objIE)
62
+ Do While objIE.Busy Or objIE.ReadyState <> 4
63
+ WScript.Sleep(10000)
64
+ Loop
65
+ End Sub
66
+
57
67
  ```
58
68
  と書いてますが、
59
69
  オブジェクトでサポートされてないプロパティまたはメソッドです。:'objButton.click'とエラーが出ます。

3

コード修整

2021/11/26 07:43

投稿

tfulcrum
tfulcrum

スコア43

title CHANGED
File without changes
body CHANGED
@@ -12,7 +12,7 @@
12
12
  Set objIE = WScript.CreateObject("InternetExplorer.Application")
13
13
  objIE.Visible = True
14
14
 
15
- Call GCIPLogin(url, user, pass)
15
+ Call Login(url, user, pass)
16
16
 
17
17
  ' この後処理を行う予定の為、あえてコメント
18
18
  'objIE.Quit

2

コード一部修正

2021/11/26 06:45

投稿

tfulcrum
tfulcrum

スコア43

title CHANGED
File without changes
body CHANGED
@@ -18,7 +18,7 @@
18
18
  'objIE.Quit
19
19
  'Set objIE = Nothing
20
20
 
21
- Sub GCIPLogin(url, user, pass)
21
+ Sub Login(url, user, pass)
22
22
  objIE.Navigate url
23
23
  Call WaitIE(objIE)
24
24
  '//ログイン情報入力

1

自前のコードを全部載せました

2021/11/26 06:44

投稿

tfulcrum
tfulcrum

スコア43

title CHANGED
File without changes
body CHANGED
@@ -1,9 +1,60 @@
1
1
  VBSでIEに自動ログインしようとしています。ログインボタンが押せません。
2
2
  もしかして、触るところを勘違いしているのか、
3
3
  実はここか?と考えた箇所が該当していて、そこを動かす必要があるのか?
4
+ コードです
5
+ ```VBS
4
- 一部だけ(転記しづらく)、コドを抜粋すると。
6
+ user = "ユザ"
7
+ pass = "パスワード"
8
+ url = "入りたいURL"
9
+
10
+ Dim objIE
11
+
12
+ Set objIE = WScript.CreateObject("InternetExplorer.Application")
13
+ objIE.Visible = True
14
+
15
+ Call GCIPLogin(url, user, pass)
16
+
17
+ ' この後処理を行う予定の為、あえてコメント
18
+ 'objIE.Quit
19
+ 'Set objIE = Nothing
20
+
21
+ Sub GCIPLogin(url, user, pass)
22
+ objIE.Navigate url
23
+ Call WaitIE(objIE)
24
+ '//ログイン情報入力
25
+ 'objIE.document.getElementsByName("inuserid")(0).Value = user
26
+ Set uname = objIE.Document.getElementsByName("inuserid")
27
+ if uname.Length > 0 Then
28
+ uname(0).Value = user
29
+ 'Else
30
+ ' msgbox "IDを入れる場所間違い"
31
+ ' WScript.Quit
32
+ end if
33
+
34
+
35
+ 'objIE.document.getElementsByName("inpasswd")(0).Value = pass
36
+ Set password = objIE.Document.getElementsByName("inpasswd")
37
+ if password.Length > 0 Then
38
+ password(0).Value = pass
39
+ 'Else
40
+ ' msgbox "PWを入れる場所間違い"
41
+ ' WScript.Quit
42
+ end if
43
+ '//ログインボタンクリック
44
+ 'objIE.Document.getElementsByTagName("login")(0).Submit
5
- set objButton = objIE.Document.getElementsByTagName("login")
45
+ set objButton = objIE.Document.f0.getElementsByName("login")
6
- objButton.click
46
+ 'objButton(0).click
47
+ 'objButton[SubmitForLogin()].submit
48
+ objButton(f0).submit
49
+ 'objButton.f0.submit
50
+
51
+ 'With objIE.document
52
+ '.f0.submit
53
+ 'End with
54
+
55
+ Call WaitIE(objIE)
56
+ End Sub
57
+ ```
7
58
  と書いてますが、
8
59
  オブジェクトでサポートされてないプロパティまたはメソッドです。:'objButton.click'とエラーが出ます。
9
60