@frswataru (本石 渉)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

VBA IE操作 getElementsByName

Q&A

解決したいこと

VBA IE操作したいです。
URLのWebページを開き”ダウンロード”ボタンをクリックしたいです。
自分なりに書いてみましたがエラーが立ちました。

発生している問題・エラー

image.png
image.png

該当するソースコード

Sub ボタン2_Click()
'ブラウザのオープン
    Dim objIE As InternetExplorer
    Set objIE = CreateObject("InternetExplorer.Application")
    objIE.Visible = True

'IEでWebページを開く

    objIE.navigate "https://j***.kitora.****.co.jp/uaj/uaj4/uaj401cg01.asp"



    Call IEWait(objIE)                          '自作関数: IE待機用
    Call WaitFor(1)                             '自作関数: WaitFor(t):t秒待機




'検索情報の自動入力]
    Dim AccountID, CompanyCode As String
    AccountID = "*******"
    CompanyCode = "*****"
    PW = "*******"

    objIE.document.getElementsByName("ACCOUNTUID_TEMP")(0).Value = AccountID  
    objIE.document.getElementsByName("CompanyCODE")(0).Value = CompanyCode
    objIE.document.getElementsByName("PASSWORD")(0).Value = PW
    objIE.document.getElementsByName("SUBMIT")(0).Click 

    Call WaitFor(2)                             '自作関数: WaitFor(t):t秒待機

   objIE.document.getElementsByName("btnDown")(0).Click



End Sub

Sub IEWait(ByRef objIE As Object)
    Do While objIE.Busy Or objIE.readyState <> 4
        DoEvents
    Loop
End Sub
'
't[sec]待機させる関数
Sub WaitFor(ByVal second As Integer)
    Dim futuretime As Date
    futuretime = DateAdd("s", second, Now)
    While Now < futuretime
        DoEvents
    Wend

End Sub

該当するHTML

image.png

メモ

Dim loginBtns As IHTMLElementCollection
Set loginBtns = htmlDoc.getElementsByName("logIn")

Dim loginBtn As IHTMLElement
Set loginBtn = loginBtns(0) 'コレクションの1番目の要素を取得

loginBtn.Click
0 likes

1Answer

一度その documentinnerHTML を取得して内容を確認したら そのnameの付いたinputタグは存在しますか?

0Like

Comments

  1. @frswataru

    Questioner


    コメントありがとうございます。
    ""でした。
  2. 単に次のページが読み込み終わっていないだけなのでは……?

Your answer might help someone💌