• 締切済み

MSXML2.XMLHTTP

ここのokwaveのサイトを自動でログインしたり、 ログアウトしたりをvbaで行ないたいのですが objIE.Navigate "http://" & URL名 & "/logout?return_url=http%3A%2F%2F" & URL名 & "%2Fmypage" なら、ログアウトできるのですが、 strURL = "http://" & URL名 & "/logout?return_url=http%3A%2F%2F" & URL名 & "%2Fmypage" Set objMSXML2 = CreateObject("MSXML2.XMLHTTP") objMSXML2.Open "GET", strURL, False objMSXML2.Send myStr = objMSXML2.responseText 'ソースを抜き出す の方法だと、ログアウトはできません。 objIE.Navigate と objMSXML2.Open "GET", strURL, False objMSXML2.Send では意味が違うのでしょうか? objMSXML2.Open "GET", strURL, False objMSXML2.Send のソースをエクセル上に書き出してみたら、ログアウト後の情報は取れています。 けど実際ブラウザを開くと、ログインされた状態のままです。

みんなの回答

回答No.1

ここではない専門的なサイトで質問してみましょう

lonwklyonsn
質問者

お礼

回答ありがとうございました。

関連するQ&A

  • XMLHTTPを用いて認証が必要なURLから情報をダウンロードする

    ■目的 XMLHTTPを使用し、ebank銀行の自分の口座の入出金明細情報をダウンロードできるようにしたいのですが、 ■問題 直接入出金明細のページのURLを指定すると、 "当行所定の時間が経過したか、当行で未対応の操作が行われたため、お取引を続けることができません。再度ログインの上、お取引ください"と表示されてしまうため、情報を習得することができません。 そのため一度ログインフォームのページでログインをし、 ログイン後に目的のページに移動しようとおもうのですが、 ログインフォームのページのURLを指定し、ログインするまでは できたのですが、そこからどのように目的のページに移動すればよいのかが分かりません。 以下のコードでログインするところまでは行けました。 Dim XMLHTTP Set XMLHTTP = CreateObject("Microsoft.XMLHTTP")XMLHTTP.Open "GET", "URL", False, "ID", "PASS" XMLHTTP.Send ↑でログインした後にSleepをはさんで、再度.Openで目的のURLを 入れ、.Sendすればいいのかと思ったのですが、それではできませんでした。 ■希望 解説されているサイトなどご存じであれば教えていただきたく、 投稿させていただきました。 また、もしこのような場合、XMLHTTPの利用が適さないのであれば、 どの技術を調べたら良いか教えていただければ幸いです。(Webbrowserコントロールを使用せず、情報を取得したいと考えております)

    • ベストアンサー
    • XML
  • MSXML2 実行時エラー14 Replace

    MSXML2でソースを抜き出して改行を置換しようとすると Set objIE = CreateObject("MSXML2.XMLHTTP") objIE.Open "GET", "http://" objIE.send myStr = objIE.responseText myStr = Replace(myStr, Chr(10), "") 実行時エラー14 文字列領域が不足しています。 と出る時があります。 これは変数に格納した文字が多すぎるのでしょうか? でも変数に格納できてるけど、置換ができないって事があるのでしょうか?

  • MSXML2で、サイトのタイトルを取得したい

    アクセスvbaです。 InternetExplorerの方法だと、 **************************************************** Sub Sample1() Dim ObjIE As InternetExplorer Set ObjIE = CreateObject("InternetExplorer.Application") ObjIE.Navigate "http://www.yahoo.co.jp/" ObjIE.Visible = True Do While ObjIE.Busy = True DoEvents Loop Do While ObjIE.Document.ReadyState <> "complete" DoEvents Loop Debug.Print ObjIE.Document.Title Debug.Print ObjIE.LocationName ' 同じ ObjIE.Quit Set ObjIE = Nothing End Sub **************************************************** で、該当のサイトのタイトルを取得できるのですが、 これではなく、 **************************************************** Sub Sample2() Dim objMSXML2 As Object Dim myObj As Object Dim myAll As Variant Set objMSXML2 = CreateObject("MSXML2.XMLHTTP") objMSXML2.Open "GET", "http://www.yahoo.co.jp/", False objMSXML2.Send myAll = objMSXML2.responseText 'ソースを抜き出す ’タイトル取得 Set objMSXML2 = Nothing End Sub **************************************************** の方法で、サイトのタイトルを取得したいのですが、 可能でしょうか? コードをご教授ください。よろしくお願いします。

  • ActiveXObject("Msxml2.XMLHTTP") のスクリプトエラー

     JavaScriptのプログラムの以下の記述の2行目(xmlhttp.open で始まる行)でスクリプトエラー「書き込み出来ません 」が発生します。  原因、対処法をご助言、ご指導ください。 var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); xmlhttp.open("GET", "http://10.2.*.*/time.asp", false); xmlhttp.send(); localSevTime = xmlhttp.responseText;  ただし、このエラーが発生するのは特定の Windows 2000 Professional のPCのみです。他のWin2000 や Windows XP Pro.のPCでは発生しません。Win2000 には、IE5.5 が搭載されています。(エラーが発生するものも、発生しないものも)  なお、GET の後ろに記述の time.asp は、サーバ(10.2.*.*)の時刻を返すものです。スクリプトエラーが発生するPCで WebブラウザのURLに "http://10.2.*.*/time.asp" を打ち込むと、ちゃんと時刻を表示します。  以上、宜しくお願い致します。

  • VBA MSXML2.XMLHTTPで通信エラー

    毎日使用しているシステムにてAccess2003 VBAでの通信で 数日前から突然エラーが出て通信できなくなりました。 下記のSENDの部分で エラー -2416697208 (800c0008)になります。   With CreateObject("MSXML2.ServerXMLHTTP.6.0") .Open "POST", strUrl, False .SetRequestHeader "Content-Type", "application/x-www-form-urlencoded" .Send (strParam) strResult = .ResponseText End With 端末の環境はWindows7 ブラウザはIE11 Windows Updateやセキュリティーなど 一切変更などしていないのですが 急にエラーが出る部分がどうしても分からず 仕事に支障が出て困っております。 他のノートパソコンへシステムのこの機能だけを入れると 正常に動いたりします。 ノートパソコンも同じくWindows7 ブラウザはIE11です。 解決方法があればお教え願いたいです。 よろしくお願いいたします。

  • myObjにタグを格納してループはできない?

    MSXML2.XMLHTTPの時は、 myObjにタグを格納してループはできないのでしょうか? Sub test() Dim objIE As Object Dim myObj As Object Set objIE = CreateObject("MSXML2.XMLHTTP") objIE.Open "GET", "http://○○.html", False objIE.send For Each myObj In objIE.Document.all.tags("p") Next Set objIE = Nothing End Sub 上記だと実行時エラー438になります。 Set objIE =CreateObject("InternetExplorer.Application") でループしないとダメでしょうか? Set objIE =CreateObject("InternetExplorer.Application") は時間がかかるので、できれば Set objIE =CreateObject("MSXML2.XMLHTTP") でやりたかったのですが、タグを格納できないのでしょうか?

  • VBAでyahooをログアウトしたい

    VBAでyahooにログインすることはできたのですが、 VBAでログアウトしたいです。 Sub yahoo() Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate "http://www.yahoo.co.jp/" ログアウトするコード ・ ・ ・ End Sub   まではわかりました。自分なりには頑張りました。 IE9を使ってるのですが そもそもソースの見方がわかりません。 ご教授よろしくお願いします。

  • XMLHttpRequestのブラウザ対応

    JavaScriptで、あるURLの結果を取得しようと以下のようなスクリプトを組みました。 var xmlHttp = false; function loadText(){ xmlHttp = new XMLHttpRequest(); xmlHttp.open("GET", "http://hogehoge, true); xmlHttp.onreadystatechange = checkStatus; xmlHttp.send(null); } function checkStatus(){ if (xmlHttp.readyState == 4 && xmlHttp.status == 200){ res = xmlHttp.responseText; alert(res); } } IE8では、結果が取得できたのですが、firefox4.0.1,Chromeでは取得できませんでした。 xmlHttp.status が0となってしまいました。 ただし、GET対象のURLをローカルサーバにすると、取得することができました。 firefox4.0.1,Chromeのブラウザの設定なのでしょうか?それともスクリプトの書き方に問題があるのでしょうか? すみませんが、教えてください。

  • VBA InStrがうまくできない

    ソースを見ると <div class="hd"> と言うタグは有るのに VBAで Sub test() Dim objIE As Object Dim myObj As Object Dim str電話番号 As String Dim strHTML As Variant Dim intstart As Variant str電話番号 = "03-58**-58**" Set objIE = CreateObject("MSXML2.XMLHTTP") objIE.Open "GET", "http://search.loco.yahoo.co.jp/search?p=" & str電話番号, False objIE.send strHTML = objIE.responseText intstart = InStr(1, strHTML, "<div class=""hd"">") End Sub とした時にintstartは0が返ります。 なぜソース上は<div class="hd">は存在するのに 0が返るのでしょうか?

  • vba ie操作 ログインしたい

    いつもお世話になっております。 前回ご回答いただいた方ありがとうございました。 またまた困ったことにログインしたいサイトがあるのですがうまくできません。 URLはhttps://www.a-q-f.com/openpc/USB0100S01Action.do?aqf_id=S0000&send_url=https://www.a-q-f.com/&get_userInfo=&r=2941249539317530063 なのですが、ログインが二つあり、左側でログインしたいのですが、ボタンを押下できません。 **************************************************** Sub 永久不滅ドットコム() Dim objIE As InternetExplorer Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate "https://www.a-q-f.com/openpc/USB0100S01Action.do?aqf_id=S0000&send_url=https://www.a-q-f.com/&get_userInfo=&r=2941249539317530063" Do While objIE.Busy = True Or objIE.ReadyState <> 4 DoEvents Loop objIE.Document.all.ID.Value = "test" objIE.Document.all.idPassword.Value = "test" Do While objIE.Busy = True Or objIE.ReadyState <> 4 DoEvents Loop For i = 0 To objIE.Document.Links.Length - 1 If objIE.Document.Links(i).innerHTML Like "*alt=ログイン*" Then '何も起こらない objIE.Document.Links(i).Click Exit For End If Next i objIE.Document.Forms(0).Click '何も起こらない objIE.Document.Forms(0).Submit 'エラーになる Set objIE = Nothing End Sub **************************************************** をやってみましたが無理でした・・・ ご教授よろしくお願いします。

専門家に質問してみよう