• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:vbaでnanacoにログイン(ie操作))

VBAでnanacoにログインする方法

このQ&Aのポイント
  • VBAを使用してnanacoにログインする方法を教えてください。
  • nanacoのカード番号には値を入れることができますが、nanaco番号やログインボタンを操作する方法がわかりません。
  • VBAのソースコードでall("XCID").Valueでエラーが発生しており、ログインボタンも2つあるため正確に操作できません。どのように修正すればよいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • jcctaira
  • ベストアンサー率58% (119/204)
回答No.1

rvnaclnvlhmrさん こんにちは。 nameは普通ユニークだと思ったのですが同じ名前を2つ使っているのですね。 それでもnameで定義されているので簡単に対処できます。 objIE.document.all("XCID").Value = "12345" objIE.document.all("SECURITY_CD").Value = "Password" For Each myObj In objIE.document.forms(0).all   : Next       ↓↓↓↓↓↓ objIE.document.all.XCID(1).Value = "12345" objIE.document.all.SECURITY_CD.Value = "Password" objIE.document.all.ACT_ACBS_do_LOGIN2.Click ※objIE.document.all.XCID(0).Value … 1つ目のanaco番号入力エリアです。 注)objIE.document.all("XCID")(1).Value = "12345" でもOKですが、上記の方がちょっとはスッキリしている?と思います。 お試し下さい。

rvnaclnvlhmr
質問者

お礼

With objIE.document.all .XCID(1).Value = 会員番号 .SECURITY_CD.Value = Password .ACT_ACBS_do_LOGIN2.Click End With にしたらうまくできました! nameが二つある場合は、インデックスをつければいいのですね。 ACT_ACBS_do_LOGIN2についてもソースをよく見てみたらありました。 実は私、以前にもjcctairaさまにvbaの事でご回答いただきました。 以前のIDはパスワードがわからなくなりログインできなくなってしまったので、違うIDを使って質問しました。 でも色々試してみたら以前のIDのパスワードがわかったので、 jcctairaさまに過去にご回答いただいた分もやっとお礼できました! (ZXEARIZUCC7です。遅くなってすいません) 何度もご回答いただけて助かります! 画像のねこちゃん可愛いです! ありがとうございました!!!

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • kumatti1
  • ベストアンサー率60% (73/121)
回答No.2

# 上手く行ったなら解決済みにされた方がいいのではと。 objIE.document.forms(1).Item("XCID").Value = "12345" objIE.document.forms(1).Item("SECURITY_CD").Value = "Password" objIE.document.forms(1).all("ACT_ACBS_do_LOGIN2").Click とも書けますね。 --- > nameは普通ユニーク Idの方はUI Automationの AutomationId として検索としても使われるのでユニークなのですが、nameはForm毎に同名なのは結構ある様です。 (Twitterのログインページも同じ類)

rvnaclnvlhmr
質問者

お礼

閉め忘れてました 大変失礼しました 一つのページ内で Nameは複数使われることがあるのですね。 勉強になりました。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 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 ***************************************************************** 自分なりにいくつか試してみたのですが、うまくいきませんでした。 ご教授よろしくお願いします。

  • 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 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 **************************************************** をやってみましたが無理でした・・・ ご教授よろしくお願いします。

  • ie操作について教えてください

    vbaで alt="口座情報" をクリックしたいのですが、うまく押せません。 ソースの一部は ****************************************************** <form name="frmSubmit"> <map id="Map" name="Map"> <area title="お問い合わせ 0120-456-858" onclick="return OpenLink();" href="javascript:void(0);" shape="rect" alt="お問い合わせ 0120-456-858" coords="273,13,463,40"> <!--area shape="rect" coords="426,13,469,40" alt="TOP" href="javascript:void(0);" onclick="return SubmitTask('RT', 'WEL', '00', '100', '');"--> <area title="FAQ" onclick="return GetLinks();" href="javascript:void(0);" shape="rect" alt="FAQ" coords="487,13,529,40"> <area title="ヘルプ" onclick="return CallForHelp();" href="javascript:void(0);" shape="rect" alt="ヘルプ" coords="547,13,598,40"> <area title="ログアウト" onclick="return SubmitTask('RT', 'CDC', '49', '', '');" href="javascript:void(0);" shape="poly" alt="ログアウト" coords="612,17,687,17,689,19,689,34,687,36,612,36,610,34,610,19"> <area title="口座情報" onclick="return SubmitTask('RT', 'ACS', '00', '23', 'frmCurrencyAndBal');" href="javascript:void(0);" shape="poly" alt="口座情報" coords="87,79,0,79,0,61,2,56,5,53,82,53,85,56,87,60"> <area title="振込・振替" onclick="return SubmitTask('RT', 'CDC', '09', '', '');" href="javascript:void(0);" shape="poly" alt="振込・振替" coords="191,79,91,79,91,64,93,59,96,56,184,56,188,58,191,62"> <area title="資産運用" onclick="return SubmitTask('RT', 'CDC', '08', '', '');" href="javascript:void(0);" shape="poly" alt="資産運用" coords="284,79,195,79,195,64,197,59,200,56,279,56,283,60,284,63"> <area title="ローン" onclick="return SubmitTask('RT', 'HLI', '00', '100', '');" href="javascript:void(0);" shape="poly" alt="ローン" coords="355,79,288,79,288,64,290,59,295,56,341,56,350,56,355,63"> <area title="レート照会" onclick="return SubmitTask('RT', 'CDC', '10', '', '');" href="javascript:void(0);" shape="poly" alt="レート照会" coords="462,79,360,79,360,64,362,59,365,56,454,56,460,59,462,63"> <area title="お客さまサポート" onclick="return SubmitTask('RT', 'CDC', '11', '', '');" href="javascript:void(0);" shape="poly" alt="お客さまサポート" coords="607,79,465,79,465,64,467,59,472,56,600,56,605,58,607,63"> </map> </form> ****************************************************** です。 '1個目の実験***************** For Each myobj In objIE.Document.all.tags("area") If TypeName(myobj) = "HTMLInputElement" Then If myobj.alt = "口座情報" Then myobj.Click Exit For End If End If Next '2個目の実験***************** For Each myobj In objIE.Document.all.tags("form") If TypeName(myobj) = "HTMLInputElement" Then If myobj.alt = "口座情報" Then myobj.Click Exit For End If End If Next '3個目の実験***************** Dim objIMG As HTMLImg Dim objDOC As HTMLDocument Set objDOC = objIE.Document For i = 0 To objDOC.images.Length - 1 Set objIMG = objDOC.images(i) If objIMG.alt = "口座情報" Then objIMG.Click End If Next '4個目の実験***************** For Each myobj In objIE.Document.all.tags("form") '↓で実行時エラー'438 オブジェクトはこのプロパティまたは メソッドをサポートしていません If myobj.alt = "口座情報" Then myobj.Click Exit For End If Next '5個目の実験***************** 'ひっかからない For Each myobj In objIE.Document.all.tags("area") If myobj.alt = "口座情報" Then myobj.Click Exit For End If Next をやってみたのですが、 どれも引っかからないです。 画像の「口座情報」をクリックしたいのです。ログインはvbaでできました。 どうすればいいでしょうか!? ご教授よろしくお願いします。

  • 食べログに価格ドットコムのIDでログインしたい

    食べログにvbaを使ってログインしたいのですが、 どうしてもログインボタンを押せません。 クリックできない状態です。 Enabledプロパティと同じような状態です。 Dim objIE As InternetExplorer Sub Sample1() Dim SiteName As String Dim myObj As Object Set objIE = CreateObject("InternetExplorer.Application") objIE.Visible = True objIE.navigate "https://ssl.tabelog.com/account/kakakuid_entry/" With objIE.document .all("mail_address").Value = "test" .all("password").Value = "test" End With For Each myObj In objIE.document.all.tags("input") If myObj.alt = "ログイン" Then myObj.Click Exit For End If Next Set objIE = Nothing End Sub こうしても、なぜかログインボタンが選択状態になりません。 手動でIDとPWを入力すると、ボタンが青くなり、押せるようになりますが VBAで情報を入力すると、選択不可状態のままです。 これが原因で、vbaでログインボタンがクリックできないのでしょうか?

  • 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ページよりログインいただけますようお願い申し上げます。」 になってしまいます。 ログインする方法を教えていただけますか? ご教授よろしくお願いします。

  • objIE.Navigate2 "http://.

    win8.1 エクセル2010です。 1ページ目でyahooのソースをチェックし、 2ページ目でグーグルのソースをチェックするにはどうすればいいでしょうか? **************************************************************** Option Explicit Dim objIE As InternetExplorer Sub test() Dim myObj As Object Set objIE = CreateObject("InternetExplorer.Application") With objIE .Visible = True .navigate "http://www.htmllint.net/html-lint/htmllint.html" End With Call wait For Each myObj In objIE.document.all.tags("input") If myObj.Name = "URL" Then myObj.Value = "http://www.yahoo.co.jp/" Exit For End If Next For Each myObj In objIE.document.all.tags("input") If myObj.alt = "CHECK" Then myObj.Click Exit For End If Next Call wait '表示が終わってないのに次のコードに進んでるっぽい objIE.Navigate2 "http://www.htmllint.net/html-lint/htmllint.html", 2048 For Each myObj In objIE.document.all.tags("input") If myObj.Name = "URL" Then myObj.Value = "https://www.google.co.jp/" Exit For End If Next For Each myObj In objIE.document.all.tags("input") If myObj.alt = "CHECK" Then myObj.Click Exit For End If Next End Sub Sub wait() Do While objIE.Busy = True DoEvents Loop Do While objIE.readyState <> 4 DoEvents Loop End Sub **************************************************************** というコードを作ったのですが、 1ページ目のタブで、ヤフーのコードをチェックし、 2ページ目のタブで http://www.htmllint.net/html-lint/htmllint.html は表示できたのですが、 2ページ目のタブのボックスに myObj.Value = "https://www.google.co.jp/" を入れることができません。 しかし 上記のコードを実行してもエラーにはなりません。 2回目の For Each myObj In objIE.document.all.tags("input")は 何をループしているのかよくわかりません。 objIE.Navigate2 "http://www.htmllint.net/html-lint/htmllint.html", 2048 で開いた二つ目のタブで For Each myObj In objIE.document.all.tags("input") If myObj.Name = "URL" Then myObj.Value = "https://www.google.co.jp/" Exit For End If Next をやる方法を教えてください。

  • [VBA] IEによる自動ログインについて

    こちらの識者の方々にはいつもお世話になっています。 VBAの質問です。 環境は下記になります。 OS=windows7 pro 64bit Office=Excel2007(12.0.6712.5000) SP3 IE=11.0.9600.17501(IE11) ・やりたいこと VBAを使用してnanacoのサイトに自動ログオンする ・試したコード Option Explicit Sub test() Dim objIE As Object Dim obj As Object Set objIE = CreateObject("InternetExplorer.Application") objIE.Visible = True objIE.Navigate "https://www.nanaco-net.jp/pc/emServlet" Do While objIE.Busy = True Or objIE.readyState <> 4 DoEvents Loop 'ID、pass入力 For Each obj In objIE.document.getElementsByTagName("input") If obj.ID = "XCID" Then obj.Value = "1234567890123456" 'nanaco番号 End If If obj.ID = "SECURITY_CD" Then obj.Value = "1234567" 'カード記載の番号 End If Next 'ログインボタンをクリックする For Each obj In objIE.document.getElementsByTagName("button") If obj.ID = "Login" Then obj.Click End If Next Set objIE = Nothing End Sub ・問題点 ログイン画面の「カード記載の番号でログインする」の項目の「nanaco番号」「カード記載の番号」にそれぞれ「1234567890123456」「1234567」を入力したいのですが、自分で調べて上記コードを試したところ、IEは立ち上がるものの、該当の箇所に文字列が入力されません。 コードの「ログインボタンをクリックする」部分についても動作していないと思います。 VBAでIEを制御すること自体慣れていないのですが、上記コードの問題点とできればコードをご教授いただけますでしょうか。 質問に不備不足等ございましたらご指摘ください。 ご面倒お掛けしますがよろしくお願いします。

  • 三菱東京UFJ銀行に自動ログインしたいのですが

    どうもうまくできません。 ログインボタンが押せません。 Sub tset() Dim objIE As Object Dim i As Long Set objIE = CreateObject("InternetExplorer.Application") objIE.navigate "https://entry11.bk.mufg.jp/ibg/dfw/APLIN/loginib/login?_TRANID=AA000_001" objIE.Visible = True Do While objIE.Busy = True DoEvents Loop With objIE.document .all("KEIYAKU_NO").Value = "test" .all("PASSWORD").Value = "PASSWORD" End With 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 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 End Sub でも、押せないのですが、ご教授いただけませんか? よろしくお願いします。

  • objIE.Document.all.tags("

    Sub test1() Dim objIE As InternetExplorer Set objIE = CreateObject("InternetExplorer.Application") objIE.Navigate "http://oshiete.goo.ne.jp/" objIE.Visible = True Call IE_wait(objIE) objIE.Document.forms("center_searchform").elements("MT").Value = "教えて" For Each myObj In objIE.Document.all.tags("input") If myObj.alt = "検索する" Then objIE.Document.all.tags("input").alt("検索する").Click ‘ココでエラー End If Next Set objIE = Nothing End Sub これを実行するとクリックできないのですがなぜでしょうか? オブジェクトは、このプロパティまたはメソッドをサポートしていません。(Error 438) が表示されます。 他の方法で解決する事は出来ますが、 If myObj.alt = "検索する" Then が出来てるからこのままうまく行きそうな気がするのですが? 理由を教えてください。ご回答よろしくお願いします。

このQ&Aのポイント
  • マランツトーンとデノンサウンドの違いについてまとめました。
  • 昔のDENONのアンプとマランツのアンプの音色には、中低域と中高域の差がありました。
  • 現在のDENONのアンプはサウンドマネージャーが変わったことで音色が変化し、中低域の量感が少なくなっているようです。
回答を見る

専門家に質問してみよう