VBAでDOMDocumentのServerHTTPRequestでタイムアウトを設定するには?

解決


さくら  2012-09-24 15:00:28  No: 143397  IP: [192.*.*.*]

VBA(Excel2007)でDOMDocumentのServerHTTPRequestでサーバからXMLを取得するシステムを作成しています。

loadするときのタイムアウトを設定することはできないのでしょうか?
また、タイムアウトなしの設定はできるのでしょうか?

ご存知の方がいましたらご教授よろしくお願いします。

○ソースコード
Dim url As String
Dim doc As MSXML2.DOMDocument
Set doc = New MSXML2.DOMDocument

url = "http://hogehoge.com/test.xml"

doc.async = False
doc.setProperty "ServerHTTPRequest", True

' ここの通信時のタイムアウトの設定を行いたいです。
doc.Load(url)

編集 削除
魔界の仮面弁士  2012-09-24 18:28:18  No: 143398  IP: [192.*.*.*]

動的プロパティには、タイムアウトに関する情報は無いようですね。
http://msdn.microsoft.com/en-us/library/windows/desktop/ms766391.aspx

ServerXMLHTTP を直接利用するのは駄目ですか?


Dim oHttp As MSXML2.ServerXMLHTTP
Set oHttp = New MSXML2.ServerXMLHTTP60

'引数の意味は下記参照
'  http://msdn.microsoft.com/ja-JP/ms760403.aspx
oHttp.SetTimeouts 0, 60000, 30000, 30000

url = "http://www.drk7.jp/weather/xml/13.xml"
oHttp.Open "GET", url, False

oHttp.Send
If oHttp.Status = 200 Then
    'Set doc = New MSXML2.DOMDocument
    'doc.async = False
    'doc.LoadXML oHttp.responseXML

    Set doc = oHttp.responseXML


End If

編集 削除
さくら  2012-09-27 11:55:12  No: 143399  IP: [192.*.*.*]

魔界の仮面弁士さん、返信ありがとうございます!

情報を頂きました、ServerXMLHTTPを直接使う方法で
うまくタイムアウトを行うことができました。

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

編集 削除