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

質問編集履歴

2

開示コードを増やしました

2019/09/11 06:55

投稿

gakusyu
gakusyu

スコア11

title CHANGED
File without changes
body CHANGED
@@ -23,11 +23,70 @@
23
23
  ### 試したコード(VBA)
24
24
 
25
25
  ```
26
- '組織を選択
26
+ #If VBA7 Then
27
+ Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal ms As LongPtr)
28
+ #Else
27
- Set objInpSel = objIE.document.getElementsByName("swich_team")(0)
29
+ Private Declare Sub Sleep Lib "kernel32" (ByVal ms As Long)
30
+ #End If
28
31
 
32
+ '接続先URL
33
+ Public Const url1 As String = "https://XXXXXXXXXXXXXXXXXXXXXXXXX"
34
+
35
+
36
+ Sub main()
37
+
38
+ Dim objIE As InternetExplorer
39
+ Dim objInpSel As HTMLSelectElement
40
+
41
+ 'IE(InternetExplorer)のオブジェクトを作成する
42
+ Set objIE = CreateObject("InternetExplorer.Application")
43
+
44
+ 'IEを表示させurl1のページを表示する
45
+ objIE.Visible = True
46
+ objIE.navigate url1
47
+
48
+ 'IEの表示を待つ
49
+ Do While objIE.Busy = True Or objIE.readyState < READYSTATE_COMPLETE
50
+ DoEvents
51
+ Loop
52
+
53
+ 'ID入力
54
+ objIE.document.getElementsByName("XXXXXXXXXXXXXXXXXX")(0).Focus
55
+ objIE.document.getElementsByName("XXXXXXXXXXXXXXXXXX")(0).Value = "XXXXXXXXXXXXXXXXXXXXXXXXXXX"
56
+
57
+ 'PW入力
58
+ objIE.document.getElementsByName("password")(0).Focus
59
+ objIE.document.getElementsByName("password")(0).Value = "XXXXXXXXXXXXXXXX"
60
+
61
+ 'ログインボタンをクリック
62
+ objIE.document.getElementsByName("login")(0).Click
63
+
64
+ Do While objIE.Busy = True Or objIE.readyState < READYSTATE_COMPLETE
65
+ DoEvents
66
+ Loop
67
+ 'プルダウンからTeam変更
68
+ objIE.document.querySelector("[name=switch_team] option:nth-child(2)").Click
69
+
70
+ Do While objIE.Busy = True Or objIE.readyState < READYSTATE_COMPLETE
71
+ DoEvents
72
+ Loop
73
+
74
+ '========================================
75
+ 'Teamを選択
76
+ ' Set objInpSel = objIE.document.getElementsByName("switch_team")(0)
77
+
29
78
  'セレクトボックスを選択
30
- objInpSel.selectedIndex = 1
79
+ ' objInpSel.selectedIndex = 1
80
+ ' Do While objIE.Busy = True Or objIE.readyState < READYSTATE_COMPLETE
81
+ ' DoEvents
82
+ ' Loop
83
+ '========================================
84
+
85
+ MsgBox "終了しました"
86
+
87
+ End Sub
88
+
89
+
31
90
  ```
32
91
  ちなみに直接URL開けばいいんじゃないかと思い、調べましたが
33
92
  「team1」「team2」で表示されるURLは同じものでした。(すみませんHTMLの知識があまりないので理由はわかりませんが「team1」「team2」で表示されるページ内容は明らかに違います)

1

説明を足しました。

2019/09/11 06:55

投稿

gakusyu
gakusyu

スコア11

title CHANGED
File without changes
body CHANGED
@@ -6,7 +6,7 @@
6
6
  項目をクリックした瞬間にその専用ページに遷移します。
7
7
  が、作成したVBAで行うと項目の表示の変更が行われるだけでページが遷移しません。
8
8
 
9
- 関係上コードすべてを載せることはできませんが、以下のようなコードになっています
9
+ 関係上WEBコードすべてを載せることはできませんが、以下のようなコードになっています
10
10
 
11
11
  ### 該当のソースコード
12
12
  ```ここに言語名を入力