0
私はvbaを新しくコーディングしていますので、皆さんから助けが必要です。 このvbaコードのPurpOse: 1.公開インターネットエクスプローラー 2.私のユーザーIDは&パスワードとログインしてください。 3.現在の日付を選択します。 4.最初のドロップダウンから特定のオプション(たとえばX1)を選択します。 5.次に、2番目のドロップダウンから特定のオプションを選択します(X1を選択した後のY1、X2の別のオプションを2番目のドロップダウンにする場合)。 6. 3番目のドロップダウンでZ1オプションを選択します.2番目のドロップダウンでY1を選択している場合にのみ表示されます。 7.選択内容を保存します。インターネットエクスプローラでvbaを使用してWebページで処理をドロップする
これで、手順4まで正しく実行されるコードが作成されましたが、その後は2番目と3番目のドロップダウンで正しいオプションを選択できません。 理由を知らない。私が使用しています
コード:
Dim HTMLDoc As HTMLDocument
Dim oBrowser As InternetExplorer
Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)
Private Declare PtrSafe Function apiShowWindow Lib "user32" Alias "ShowWindow" _
(ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Const SW_MAXIMIZE = 3
Const SW_SHOWNORMAL = 1
Const SW_SHOWMINIMIZED = 2
Private Sub Merchtimetracker_Click()
Dim oHTML_Element As IHTMLElement
Dim sURL As String
Dim ie As Object
Set ie = CreateObject("internetexplorer.application")
On Error GoTo Err_Clear
With ie
.Visible = True
apiShowWindow ie.hwnd, SW_MAXIMIZE
.navigate "https://xxxxxxx"
Do While .Busy
DoEvents
Loop
Do While .readyState <> 4
DoEvents
Loop
End With
Set emailid = ie.document.getelementbyid("emailid")
emailid.Value = "xxxxxx"
Set Password = ie.document.getelementbyid("password")
Password.Value = "xxxxx"
ie.document.getelementsbyname("login_now")(0).Click
Err_Clear:
If Err <> 0 Then
Err.Clear
Resume Next
End If
Do While ie.readyState <> 4 Or ie.Busy = True
DoEvents
Loop
ie.document.getelementbyid("datepicker").Value = Format(Date, "yyyy-mm-dd") 'write "Format (Date, "yyyy-mm-dd")" when want to give today's date and if not then just write ("2016-09-13")
Set project = ie.document.getelementbyid("project")
For i = 0 To project.Options.Length - 1
If project.Options(i).Text = "X1" Then
project.selectedindex = i
For j = 0 To task.Options.Length - 1
If task.Options(j).Text = "Y1" Then
task.selectedindex = j
Exit for
End If
Next j
Exit For
End If
Next i
End subcode
あなたのご意見ありがとうございますが、私はあなたが何を言おうとしているのか理解できません。私はちょうど初心者ですので、あなたは最も正しいバージョンを書いているかもしれませんが、私はそれを取得していません。一例で一番簡単にしてください。あなたは助けに感謝します。 –