• ベストアンサー

[VBA] MSXML2.DOMDocument

MSXML2.DOMDocument を用いて、xml のデータを取得しています。 相手のサーバーがダウンしていると、 Dim xmlDoc As New MSXML2.DOMDocument xmlDoc.async = False xmlDoc.Load (taisyoURL) ↑ この部分でフリーズしてしまい、それ以降続行できません。 false も返ってくるわけではないのでどうしたらよいのか 困っております。 タイムアウト又は何かしらの方法でエラー処理をさせる ことはできますでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

ADODBのStreamオブジェクトで開いてみてはいかがでしょう 対象URLをHTTP://で始まる『絶対URL』で指示してみましょう dim oStream as new ADODB.Stream On Error Resume next oStream.Open "絶対URL", adModeRead On Error goto 0 if oStream.State then   xmlDoc.async = false   xmlDoc.Load( oStream )   oStream.Close End if といった具合で ・・・

appleZZZ
質問者

お礼

すばやい回答ありがとうございます。 結局とりあえず、 Dim httpObj As New MSXML2.XMLHTTP On Error GoTo RequestError httpObj.Open "GET", taisyoURL, False httpObj.send If httpObj.Status Then Dim xmlDoc As New MSXML2.DOMDocument xmlDoc.async = False xmlDoc.loadXML httpObj.responseText   … というコードにしてみました。 ただ、サーバ落ちた状況を再現するのが手間が かかるため、今度参照サイトが落ちた時にこれらの テストをすることにしました。 お返事遅くなりまして申し訳ございませんでした。 先日の別件での回答を含め大変たすかりました。

関連するQ&A