- PR -

VBAからPOSTの値を渡してURLを実行できますでしょうか。。

1
投稿者投稿内容
McLaren
ぬし
会議室デビュー日: 2002/01/15
投稿数: 784
お住まい・勤務地: 東京
投稿日時: 2005-08-09 09:58
 お世話になっております。
VBAから

Public Sub RunURL()
Dim WshShell
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "http://www.AAA.jp/Page1.php"
End Sub

のようにURLを実行しています。
 しかしPage1.phpの中では「post1」というPOSTパラメータを受けて処理するようにプログラムされているので、どうしてもPOSTパラメータを渡したいと思っております。

 何とか実現できませんでしょうか。。
 
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2005-08-09 12:20
VBAならXMLHttpというオブジェクトでPOSTの送信が可能です。
文献はたくさんあるので探してみてくださいな。
(AJAX関連を調べれば一発でわかると思います。)
McLaren
ぬし
会議室デビュー日: 2002/01/15
投稿数: 784
お住まい・勤務地: 東京
投稿日時: 2005-08-09 15:44
何とも貴重なキーワードをありがとうございました!!!

Access2000のVBAで

Function test()
Dim oXmlHttp As Object
Set oXmlHttp = CreateObject("MSXML2.XMLHTTP")
oXmlHttp.Open "POST", "http://www.hogehoge.jp/index.php", False
oXmlHttp.send ("user=McLaren")
Debug.Print oXmlHttp.responseText
End Function

を実行しますと、イミディエイトにHTMLのソースが表示されました!
ブラウザを立ち上げてページを表示することはできますでしょうか。。
Hongliang
ぬし
会議室デビュー日: 2004/12/25
投稿数: 576
投稿日時: 2005-08-09 16:11
どうせIEで表示させるなら直接InternetExplorerオブジェクトでPOSTすればいいような気がします。
IEオブジェクトによるPOSTでのNavigateはこちらに解説があります。
http://www.niseko.or.jp/BlogX2/PermaLink.aspx/62451d45-cf05-4676-8bb8-a116bd3e917b

XmlHTTPで取得したのをIEオブジェクトのdocumentにwriteでも良いですけど。
McLaren
ぬし
会議室デビュー日: 2002/01/15
投稿数: 784
お住まい・勤務地: 東京
投稿日時: 2005-08-09 17:01
 おお!なんと!こんなことができるんですね!

Sub test()
Set IE = CreateObject("InternetExplorer.application")
IE.Visible = True
bDATA = "user=McLaren"
IE.Navigate "http://www.hogehoge.jp/index.php", , , bDATA
End Sub

ありがとうございました!!

 実行する度に新規にブラウザが上がるこの方法は、これはこれで大成功なのですが、既に起動しているブラウザのセッションを継続するように起動するようにできたりできるのでしょうか。。

 初稿の

Public Sub RunURL()
Dim WshShell
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "http://www.AAA.jp/Page1.php"
End Sub

ですとログイン済みクッキーのセッションを保持したままURLをRunしてくれます。。
1

スキルアップ/キャリアアップ(JOB@IT)