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

回答編集履歴

1

修正依頼追記

2018/09/10 16:26

投稿

imihito
imihito

スコア2166

answer CHANGED
@@ -4,4 +4,42 @@
4
4
  1. idが`username`・`user_pass`・`loginform`・`user_login`・`user_password`となっている要素は存在しません。IDとパスワードはNameが設定されているため、`getElementsByName`を使用すれば取得できるでしょう。
5
5
 
6
6
  上記以外のもんだ点として、手元で試したとき`https://www.jwnetweb.jp/wusr/index.html`からiframe内の要素にアクセスできませんでした。
7
- iframeで呼ばれているページを直接開けば変更出来るようですが、アカウントを持っていないため詳しくは試していません。
7
+ iframeで呼ばれているページを直接開けば変更出来るようですが、アカウントを持っていないため詳しくは試していません。
8
+
9
+ ---
10
+
11
+ # 質問の修正依頼
12
+
13
+ ```vba
14
+ Sub logIn()
15
+
16
+ Dim objIE As InternetExplorer 'IEオブジェクトを準備
17
+ Set objIE = CreateObject("Internetexplorer.Application") '新しいIEオブジェクトを作成してセット
18
+
19
+ objIE.Visible = True 'IEを表示
20
+
21
+ Dim strUrl As String '次ページのURL
22
+ strUrl = "https://www.jwnetweb.jp/wusr/index.html"
23
+
24
+ objIE.navigate strUrl 'IEでURLを開く
25
+ Const READYSTATE_COMPLETE = 4
26
+ Do While objIE.Busy = True Or objIE.readyState < READYSTATE_COMPLETE '読み込み待ち
27
+
28
+ DoEvents
29
+
30
+ Loop
31
+
32
+ Dim htmlDoc As HTMLDocument 'HTMLドキュメントオブジェクトを準備
33
+ Set htmlDoc = objIE.document 'objIEで読み込まれているHTMLドキュメントをセット
34
+
35
+ htmlDoc.getElementById("username").Value = "XXXXXXXXXX" 'id="user_login"にユーザー名を入力
36
+ htmlDoc.getElementById("user_pass").Value = "XXXXXXXXXX" 'id="user_pass"にパスワードを入力
37
+ htmlDoc.getElementById("loginform").submit 'フォームの内容を送信
38
+
39
+ End Sub
40
+ ```
41
+
42
+ 質問のコードの前後の行に「```」を追加し上記のような表示にしてください。
43
+ この形式にすることで、コードが見やすく・コピペしやすくなります。
44
+
45
+ コードが見やすければ変な部分に気付きやすいですし、コピペしやすければ簡単に試せるようになり、回答がつきやすくなります。