• 締切済み

VBA IE操作、指定したボタンのクリック

具体的には、ヤマト運輸のビジネスメンバーズのHPです。 https://bmypage.kuronekoyamato.co.jp/bmypage/servlet/jp.co.kuronekoyamato.wur.hmp.servlet.user.HMPLGI0010JspServlet 以下のコードで、それぞれのボックス(IDやパスワードなど)を入れることができました。 D3~D6セルに IDなどログインに必要な情報をいれてあります。 しかし、その下部分にある ログイン のボタンをクリックする方法が見つからず困っています。 Sub ボタン1_Click() Dim objIE As Object Set objIE = CreateObject("InternetExplorer.Application") objIE.Navigate Range("D3").Value objIE.Visible = True Do Until objIE.Busy = False DoEvents Loop objIE.Document.frm.CSTMR_CD.Value = Left(Range("D4").Value, 12) objIE.Document.frm.CSTMR_CLS_CD.Value = Right(Range("D4").Value, 3) objIE.Document.frm.LOGIN_USER_ID.Value = Range("D5").Value objIE.Document.frm.CSTMR_PSWD.Value = Range("D6").Value objIE.Document.frm.???.Click End Sub ログインのボタンに特に名前の指定がないようなのですが、この場合に ボタンをクリックする方法をご存知の方、ご指導ください。

みんなの回答

  • weboner
  • ベストアンサー率45% (111/244)
回答No.1

<dd class="login"><a href="javascript:void(0);" onClick="javascript:func_request_Link('LOGIN'); return false;"><img src="https://bmypage.kuronekoyamato.co.jp/bmypage/script/images/header_contents_login_btn.gif" alt="ログイン" title="ログイン" class="imgover" /></a></dd> ちゃんとtitle="ログイン"と名前がついていますよ

hallo-2007
質問者

お礼

ありがとうございます。 一応ですが、総当たり作戦で For Each x In objIE.document.Forms(0).All If x.Title = "ログイン" Then x.Click End If Next で目的は達成できました。 もう少し、スマートな方法をご存じでしたら ご指導お願いします。

関連するQ&A

  • VBAからIE操作でログインできない

    社内の業務管理システムにエクセルVBAでログインしようとしています、が、ログインはもとより、IDを入力する部分に私のID情報すら入力されません。 とりあえずID枠に入力する方法をアドバイスをお願いします。 ◆htmlソース <table> <tr> <td>ID</td> <td><input type="text" name="UserId" id="UserId" /></td> </tr> <tr> <td>PW</td> <td><input type="password" name="UserPass" id="UserPass" /></td> </tr> ◆VBAでは以下のいずれの文も失敗(ID入力枠に何も入らない。エラー発生。) ※右辺のD12セルには私のID情報を入力しています。 ObjIE.Document.all.UserId.Value = Worksheets("MyData").Range("D12").Value ObjIE.Document.all("UserId")(0).Value = Worksheets("MyData").Range("D12").Value ObjIE.Document.all("UserId").Value = Worksheets("MyData").Range("D12").Value ObjIE.document.forms(0).elements("UserId").Value = Worksheets("MyData").Range("D12").Value ObjIE.document.forms(0).elements("UserId")(0).Value = Worksheets("MyData").Range("D12").Value ObjIE.Document.getElementById("UserId").Value = Worksheets("MyData").Range("D12").Value ObjIE.document.all.Item("UserId").Value = Worksheets("MyData").Range("D12").Value 上記コードの何が間違っているのでしょうか? あるいは、上記の原因特定するために、何を試せばよいでしょうか? 宜しくお願いいたします。

  • vba ie操作 ボタンを押したい(2)

    https://ca.omc-card.co.jp/member/omcplus_login.html のサイトにログインしたいのですが、ログインボタンが押せません。 ソースは、 ********************************************************************************** <FORM action="../member/xt_mem_top_login.asp" method="post" name="form1"><input type="hidden" name="sid" value=""><input type="hidden" name="pw" value="">     ~~~省略~~~ <TABLE border="0" cellspacing="0" cellpadding="5" class="tab_button_bottom15"> <TR> <TD><A href="javascript:checkInput(document.form1);"><IMG src="../img/button/login.gif" alt="ログイン" width="160" height="35" border="0"></A></TD> </TR> </TABLE> </FORM> ********************************************************************************** です。 --------------------------------------------------------------------------------- Sub test() Dim objIE As InternetExplorer Set objIE = CreateObject("InternetExplorer.Application") objIE.Visible = True objIE.Navigate "https://ca.omc-card.co.jp/member/omcplus_login.html" Do While objIE.Busy = True Or objIE.ReadyState <> 4 DoEvents Loop objIE.Document.forms(0).Item("sid_input").Value = "×××" objIE.Document.forms(0).Item("pw_input").Value = "×××" Do While objIE.Busy = True Or objIE.ReadyState <> 4 DoEvents Loop 'objIE.Document.forms(1).submit 'エラーになる objIE.Document.all.Item("document.form1").Click 'エラーになる objIE.Document.forms(0).getElementsByTagName("input")(0).Click 'エラーにならないけどクリックもされない。 objIE.Document.forms(0).getElementsByTagName("input")(1).Click 'エラーにならないけどクリックもされない。 objIE.Document.forms(0).getElementsByTagName("document.form1")(1).Click 'エラーになる objIE.Document.forms(1).getElementsByTagName("input")(1).Click 'エラーになる Set objIE = Nothing End Sub --------------------------------------------------------------------------------- テキストにIDとPWを入れるところまでは出来たのですが、 ログインボタンを押すことができません。 すいませんがご教授ご回答よろしくお願いしますm( )m

  • VBAでサイトのsubmitボタンをクリックしたい

    とあるサイトに自動ログインするvbaを作っています。 (三流君を参考にしています) Sub ログイン() Set ObjIE = CreateObject("InternetExplorer.application") ObjIE.Visible = True '************************************************** ObjIE.navigate "https://www" Do While ObjIE.Busy = True '表示させるまで待つ DoEvents Loop Application.Wait (Now + TimeValue("00:00:03")) ObjIE.Document.all.UserId.Value = "ID" ObjIE.Document.all.submit_l貸出照会.Click ’ここでエラーになる End Sub 上記のようなコードを書いているのですが 該当サイトのソースを読み取り、 「INPUT TYPE="text" NAME="userid" VALUE=""」 の部分は ObjIE.Document.all.UserId.Value = "ID" で出来たのですが 「<INPUT TYPE="submit" VALUE="貸出照会">」 の部分をクリックしてログインしたいのですが ObjIE.Document.all.貸出照会.Click だとエラーになってしまいます。 ObjIE.Document.Forms(0).item("貸出照会").Click もダメでした。 ご教授よろしくお願い致します。 (エクセル2003)

  • ie操作 ログインボタンを押せないです

    こんばんは。いつもお世話になっております。 ie操作でうまく行かないので教えてください。 イトーヨーカドーのサイトにログインしたいのですがログインボタンが押下できません。 Sub test() Dim objIE As InternetExplorer Set objIE = CreateObject("InternetExplorer.Application") objIE.Visible = True objIE.Navigate "https://www.iy-net.jp/" Do While objIE.Busy = True DoEvents Loop objIE.Document.all("userId").Value = ID objIE.Document.all("password").Value = PW objIE.Document.forms(0).submit Set objIE = Nothing End Sub --------------------------------------------------------- だと、 「ハイフンを除く7ケタを半角数字でご入力ください」になってしまいます。 ログインボタンが押せてないのかもしれないけど、よくわかりません。 --------------------------------------------------------- Sub test() Dim objIE As InternetExplorer Set objIE = CreateObject("InternetExplorer.Application") objIE.Visible = True objIE.Navigate "https://www.iy-net.jp/" Do While objIE.Busy = True DoEvents Loop objIE.Document.all("userId").Value = ID objIE.Document.all("password").Value = PW For i = 0 To objIE.Document.Links.Length - 1 If objIE.Document.Links(i).innerText = "ログイン" Then objIE.Document.Links(i).Click Exit For End If Next i Set objIE = Nothing End Sub --------------------------------------------------------- にすると、 https://www.iy-net.jp/nspc/logininput.do のURLが表示されて会員認証の画面になってしまいます。 だからって objIE.Navigate "https://www.iy-net.jp/" を https://www.iy-net.jp/nspc/logininput.do にして objIE.Document.forms(0).submit すると https://www.iy-net.jp/nspc/searchresult.do のページが表示されて 「再度 TOPページよりログインいただけますようお願い申し上げます。」 になってしまいます。 ログインする方法を教えていただけますか? ご教授よろしくお願いします。

  • vba ie操作 ログインしたい

    いつもお世話になっております。 前回ご回答いただいた方ありがとうございました。 またまた困ったことにログインしたいサイトがあるのですがうまくできません。 URLはhttps://www.a-q-f.com/openpc/USB0100S01Action.do?aqf_id=S0000&send_url=https://www.a-q-f.com/&get_userInfo=&r=2941249539317530063 なのですが、ログインが二つあり、左側でログインしたいのですが、ボタンを押下できません。 **************************************************** Sub 永久不滅ドットコム() Dim objIE As InternetExplorer Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate "https://www.a-q-f.com/openpc/USB0100S01Action.do?aqf_id=S0000&send_url=https://www.a-q-f.com/&get_userInfo=&r=2941249539317530063" Do While objIE.Busy = True Or objIE.ReadyState <> 4 DoEvents Loop objIE.Document.all.ID.Value = "test" objIE.Document.all.idPassword.Value = "test" Do While objIE.Busy = True Or objIE.ReadyState <> 4 DoEvents Loop For i = 0 To objIE.Document.Links.Length - 1 If objIE.Document.Links(i).innerHTML Like "*alt=ログイン*" Then '何も起こらない objIE.Document.Links(i).Click Exit For End If Next i objIE.Document.Forms(0).Click '何も起こらない objIE.Document.Forms(0).Submit 'エラーになる Set objIE = Nothing End Sub **************************************************** をやってみましたが無理でした・・・ ご教授よろしくお願いします。

  • VBAでIE操作

    こんばんは。エクセル2003です。 証券会社にVBAでログインを試みてるのですができません。 ソースの一部を転記します。 <label for="account_id"><span>ユーザー名</span></label> <input type="text" tabindex="1" id="account_id" name="account_id" /> <label for="password"><span>パスワード</span></label> <input type="password" tabindex="2" id="password" name="password" /> <div id="rememberbox"> <label for="remember" id="rememberlabel">ユーザー名を記録する</label> <input type="checkbox" tabindex="3" name="remember" id="remember" /> </div> なので、下記VBAコードを作りました。 Sub IGマーケット証券() Set objIE = CreateObject("InternetExplorer.Application") objIE.Visible = True objIE.Navigate "http://www.igmarkets.co.jp/login/" Do While objIE.Busy = True DoEvents Loop Const READYSTATE_COMPLETE As Long = 4 Do Until objIE.ReadyState = READYSTATE_COMPLETE Loop objIE.Document.all("account_id").Value = "test" objIE.Document.all("password").Value = "test" objIE.Document.Forms(0).submit Set objIE = Nothing End Sub ですが、 objIE.Document.all("account_id").Value = "test" のところでエラーになってしまいます。 objIE.Document.all("login").Value = "test" に変えても同じです。 何がいけないのでしょうか? アドバイスよろしくお願いします。

  • vba ie操作 ボタンを押したい

    こんばんは。度々すいません。 またまたIE操作で詰んでしまいました。 以前、http://hiroba.chintai.net/qa7798169.htmlで質問してご回答いただいたのですが 違うサイトにも応用しようとしたところ、うまくいきませんでした。 https://www.jaccs.co.jp/icmclub/icm_login.htmlのログインボタンを押下したいのですが Sub test() Dim objIE As InternetExplorer Dim myObj As Object Set objIE = CreateObject("InternetExplorer.Application") objIE.navigate "https://www.jaccs.co.jp/icmclub/icm_login.html" objIE.Visible = True Do While objIE.Busy = True Or objIE.readyState <> 4 DoEvents Loop For Each myObj In objIE.document.forms(0).all If TypeName(myObj) = "HTMLInputElement" Then If myObj.alt = "ログイン" Then Debug.Print myObj.alt myObj.Click Exit For End If End If Next Set objIE = Nothing End Sub をするとエラーにもならないけどボタンも押せません。 でもmyObj.Clickは通過しているようです。 なぜボタンを押せないのでしょうか? ご教授よろしくお願いします。

  • エクセルでのVBA

    エクセルでVBAを使ってIEで指定のURLを開いて、VBAで指定したWEBフォームにエクセルで指定したセルの値を入力したいのですが、下記のコードを入れるとエラーが出てしまいます。   A1:1-1 or 1-2 or 1-3 B1:月曜日 C1:火曜日 D1:水曜日 上のA1~D1まで入力した上でコマンドボタンをクリックすると、自動的に行うようにしたいです。 Private Sub CommandButton1_Click() Dim objie As Object Set objie = CreateObject("InternetExplorer.application") objie.Visible = True objie.Navigate "http://●●●●/form.html" Dim kubun As String kubun = range("A1") Select Case kubun Case "1-1" call ma1_1 Case "1-2" call ma1_2 Case "1-3" call ma1_3 End select Set objie = Nothing End sub Sub ma1_1() objie.Document.all.form1_1.Value = Range("B1") End Sub Sub ma1_2() objie.Document.all.form1_1.Value = Range("B1") objie.Document.all.form1_2.Value = Range("C1") End Sub Sub ma1_3() objie.Document.all.form1_1.Value = Range("B1") objie.Document.all.form1_2.Value = Range("C1") objie.Document.all.form1_3.Value = Range("D1") End Sub これで実行を押すと、objie 変数が定義されていません。と出てしまいます。このobjieを有効にするにはどうしたよいのでしょうか? わかる方いましたらご教授願います。 よろしくお願いします。

  • vba ie操作 電気家計簿ログインできない

    いつもお世話になっております。 何度も質問して申し訳ございません。またまた教えてください。 電気家計簿(https://www.kakeibo.tepco.co.jp/dk/aut/login/)のログインボタンをVBAで押したいのですが うまくできません。 コードは下記の通りです。 ***************************************************************** Sub test() Dim objIE As InternetExplorer Dim myObj As Object Set objIE = CreateObject("InternetExplorer.Application") objIE.Visible = True objIE.Navigate "https://www.kakeibo.tepco.co.jp/dk/aut/login/" Do While objIE.Busy = True Or objIE.ReadyState <> 4 DoEvents Loop objIE.Document.all("id").Value = "test" objIE.Document.all("password").Value = "tset" 'objIE.Document.Forms(0).submit 'これだと更新されちゃうっぽい 'objIE.Document.Forms(0).Item(2).Click 'Item(0)とItem(1)はエラーにならないけど何も起こらない。Item(2)にするとエラー 'objIE.Document.all.submit.Click 'エラー 'エラーにならないけど何も起こらない 'For i = 0 To objIE.Document.Links.Length - 1 ' If objIE.Document.Links(i).innerHTML Like "*alt=ログイン*" Then ' objIE.Document.Links(i).Click ' Exit For ' End If 'Next i 'エラーにならないけど何も起こらない 'For Each myObj In objIE.Document.forms(0).all ' If TypeName(myObj) = "HTMLInputElement" Then ' If myObj.alt = "ログイン" Then ' myObj.Click ' Exit For ' End If ' End If 'Next Set objIE = Nothing End Sub ***************************************************************** 自分なりにいくつか試してみたのですが、うまくいきませんでした。 ご教授よろしくお願いします。

  • IEの制御のマクロをつくっていますが

    ログインと作業実行を別々のマクロにしたいのですが マクロでログインを省略して次の画面にもっていきたいので objIE.navigate "https://........... とやると、セキュリティの関係だと思いますが画面がはじかれてしまいます。 ですのでいまはひとつの作業をするのにその都度ログインのマクロからになってしまいます。 何かいい方法がございましたらご教授ください。 Sub ログイン() Dim objIE As InternetExplorer Dim strUserName, strPassword As String strUserName = Range("AA1").Value strPassword = Range("AA2").Value Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.navigate "https://mobile.e..............’ログイン画面 IE_Complete objIE '表示終わるまで待つ objIE.Document.All.req_userId.Value = strUserName 'ユーザーネーム objIE.Document.All.req_password.Value = strPassword 'パスワード objIE.Document.All.LoginSubmit.Click 'クリック IE_Complete objIE ここまでログイン 上記を省略して以下からはじめたい Sub 作業実行() objIE.navigate "https://...........

専門家に質問してみよう