Categories
SugiBlog ホームページ制作・システム開発

VBAでHTTPリクエスト

MSXML2.XMLHTTPオブジェクトを利用して
WEB上のデータを取得したり、PHP等のプログラムへデータを送信することができます。

まずは宣言

Dim xmlHttp  as Object 'HTTPリクエストオブジェクト
Dim url      As String 'リクエストを送るURL
Dim strParam As String 'リクエストパラメータ
Dim strRes   As String '結果を受け取る変数

HTTPリクエスト用オブジェクトのバインド

Set xmlHttp = CreateObject("MSXML2.XMLHTTP")

・GET送信
リクエストするURLを指定

url = "http://www.example.jp/index.html"
With xmlHttp
    .Open "GET", url, False
    .SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
    .Send
    strRes = .ResponseText
End With


・POST送信
PHP等で作成したプログラムのURLを指定

url = "http://www.example.jp/example.php"

送信するパラメータの設定

strParam = "msg=テスト"
With xmlHttp
    .Open "POST", url, False
    .SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
    .Send (strParam)
    strRes = .ResponseText
End With

openメソッドの書式

open(strMethod, strUrl[, varAsync[, strUser[, strPassword]]])
strMethod GETまたはPOST等のメソッドを指定します
strUrl リクエストを送るURL
varAsync 同期(True(失敗したらエラーが発生))/非同期(False)を指定します(省略可)既定値:True
strUser 認証が必要な場合、ユーザー名を指定します(省略可)
strPassword 認証が必要な場合、パスワードを指定します(省略可)

レスポンスをメッセージボックスで表示します。

If Trim(strRes) <> "" Then MsgBox strRes

オブジェクトを解放

Set xmlHttp = Nothing
20,742 views

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*