|
こんにちは。かみちゃん です。
>Webクエリで情報を取り込みたいのですが、
>ログインIDとパスワードを入力するサイトにアクセスして
>自動的に取り込むことはできるものでしょうか?
私も、Webクエリをよく使っていますが、
ログイン認証がある場合は、ログインID等を入力する必要があるので、
Webクエリは使えないと思います。
その変わりに、私は、以下のような方法で情報を取得しています。
以下の例は、Yahoo!JAPANにログインして、ログイン直後のデータを表示する仕組みです。
Sub Macro1()
'参考URL
'http://www.ken3.org/vba/backno/vba097.html
Dim objIE As Object 'IEオブジェクト参照用
Dim strURL As String, strLogin As String, strPassword As String
'インターネットエクスプローラーのオブジェクトを作る
Set objIE = CreateObject("InternetExplorer.application")
With objIE
.Visible = True '見えるようにする(お約束)
'ログイン情報を設定する。
strURL = "http://login.yahoo.co.jp/config/login?"
strLogin = "userID" 'ユーザ名
strPassword = "PassWord" 'パスワード
'文字列で指定したURLに飛ぶ
objIE.Navigate strURL
'表示終了まで待つ
Do While objIE.Busy = True
'何もしないループ(笑)
DoEvents
Loop
'項目名を指定して、データをセットする
With .Document
.all.login.Value = strLogin 'ユーザー名をセットする。
.all.passwd.Value = strPassword 'パスワードをセットする。
.Forms(0).Submit 'ログインボタンをクリックする。
'表示終了まで待つ
Do While objIE.Busy = True
'何もしないループ(笑)
DoEvents
Loop
'ログイン直後のページの情報を取得
Range("A1").Value = .body.innerText
End With
End With
Set objIE = Nothing
End Sub
なお、以下のURLも参考になると思います。
http://www.ken3.org/cgi-bin/group/vba_ie.asp
|
|