- - PR -
VBAからPOSTの値を渡してURLを実行できますでしょうか。。
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 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パラメータを渡したいと思っております。 何とか実現できませんでしょうか。。 |
|
投稿日時: 2005-08-09 12:20
VBAならXMLHttpというオブジェクトでPOSTの送信が可能です。
文献はたくさんあるので探してみてくださいな。 (AJAX関連を調べれば一発でわかると思います。) |
|
投稿日時: 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のソースが表示されました! ブラウザを立ち上げてページを表示することはできますでしょうか。。 |
|
投稿日時: 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でも良いですけど。 |
|
投稿日時: 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
