Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


6444 / 13644 ツリー ←次へ | 前へ→

【45147】VBAでログインした後のIEの操作について VBA初心者 06/12/13(水) 17:20 質問[未読]
【45151】Re:VBAでログインした後のIEの操作について Kein 06/12/13(水) 18:13 回答[未読]
【45152】Re:VBAでログインした後のIEの操作について VBA初心者 06/12/13(水) 18:45 お礼[未読]
【45198】Re:VBAでログインした後のIEの操作について pan 06/12/15(金) 10:22 発言[未読]

【45147】VBAでログインした後のIEの操作について
質問  VBA初心者  - 06/12/13(水) 17:20 -

引用なし
パスワード
   現在、下記のVBAにてあるサイトにログインすることが出来ました。
しかし、その先の操作について、どのように命令したら良いのかがわかりません。
やりたいことは、下記のVBAでログインすると、URLが変わり、
1.変わった先のボタン(info)をクリックし、
2.その先のテキストボックス(dscrCdNm)にテキストを入れて、
3.検索ボタン(submit)を押す。
この一連の作業を行いたいのですが、まずはじめのログインした後に表示されるドキュメントの操作の方法がわかりません。
表示されたものを一旦、取得しなければいけないのか???
どなたか、教えてください。よろしくお願いします。

Option Explicit
Sub IE_login()

  Dim objIE As Object
  Dim strURL_1 As String, strLogin As String, strPassword As String
  
  Set objIE = CreateObject("InternetExplorer.application")
  
  With objIE
    .Visible = True
  
    strURL_1 = "楽天証券ログイン.html"
    strLogin = "loginid"
    strPassword = "passwd"
    
    objIE.Navigate strURL_1
  
    Do While objIE.Busy = True
      DoEvents
    Loop
    
    Do While objIE.document.ReadyState <> "complete"
      DoEvents
    Loop
  
    With objIE.document
      .all.loginid.Value = strLogin
      .all.passwd.Value = strPassword
      .getElementById("submit%template").Click
    
        Do While objIE.Busy = True
          DoEvents
        Loop
        
        Do While objIE.document.ReadyState <> "complete"
          DoEvents
        Loop
    
    End With
  
  End With
  
  Set objIE = Nothing

End Sub

【45151】Re:VBAでログインした後のIEの操作につい...
回答  Kein  - 06/12/13(水) 18:13 -

引用なし
パスワード
   楽天証券の場合
>ログインした後
の画面はセキュリティに守られているため、Formの名前などが「表示」「ソース」
に出てきません。なので、やるとしたら SendKeys でキーストロークを送るぐらい
でしょう。例えば "投資情報" タブを開いて銘柄コード 9984 を入力するなら

    With objIE.document
      .all.loginid.Value = strLogin
      .all.passwd.Value = strPassword
      .getElementById("submit%template").Click
      Do While objIE.Busy = True
        DoEvents
      Loop
      Do While objIE.document.ReadyState <> "complete"
        DoEvents
      Loop
      SendKeys "{TAB 9}"
      SendKeys "{ENTER}"
      Application.Wait Time + TimeValue("00:00:01") 
      SendKeys "9984"
      SendKeys "{ENTER}"
    End With

【45152】Re:VBAでログインした後のIEの操作につい...
お礼  VBA初心者  - 06/12/13(水) 18:45 -

引用なし
パスワード
   ありがとうございます。

>の画面はセキュリティに守られているため、Formの名前などが「表示」「ソース」
>に出てきません。

nameがわかるだけでは駄目なのですね。
formがわかれば、postからいじる事が出来るといったところなのでしょうか・・・

残念です。

勉強になりました。
ありがとうございました。

【45198】Re:VBAでログインした後のIEの操作につい...
発言  pan  - 06/12/15(金) 10:22 -

引用なし
パスワード
   ▼VBA初心者 さん:


亀山社中の目指せ自動売買で検索してみてください。
楽天のコードはあります。

>ありがとうございます。
>
>>の画面はセキュリティに守られているため、Formの名前などが「表示」「ソース」
>>に出てきません。
>
>nameがわかるだけでは駄目なのですね。
>formがわかれば、postからいじる事が出来るといったところなのでしょうか・・・
>
>残念です。
>
>勉強になりました。
>ありがとうございました。

6444 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free