Option Compare Database '====================================== ' Main 処理 '====================================== Sub Main() '変数 Dim strHTML As String Dim arField() Dim DisplayMessage As String '定数 Const strGetURL As String = "http://pc.undo.jp/DspDB_Sample.cgi" Const strUpdURL As String = "http://pc.undo.jp/UpdDB_Sample.cgi?myID=" Const DebugSW As Byte = 1 strHTML = HttpGetText(strGetURL) 'HTTP結果取得 DisplayMessage = Bunkai(strHTML, arField) '分解処理 If DebugSW = 1 Then MsgBox DisplayMessage 'デバッグモードは結果を表示 '解り易いように個別表示 MsgBox arField(0, 0) & "=" & arField(1, 0) 'ID MsgBox arField(0, 1) & "=" & arField(1, 1) 'TITLE MsgBox arField(0, 2) & "=" & arField(1, 2) 'LastDate MsgBox arField(0, 3) & "=" & arField(1, 3) 'EndDate MsgBox arField(0, 4) & "=" & arField(1, 4) 'Times MsgBox arField(0, 5) & "=" & arField(1, 5) 'Sumi '処理済に更新しておく strHTML = HttpGetText(strUpdURL & arField(1, 0)) '処理済のIDを更新対象にする If DebugSW = 1 Then MsgBox strHTML End Sub '====================================== ' HTTP 処理 '====================================== Function HttpGetText(ByVal strURL As String) As String Dim oHttp As Object Dim sHTML As String 'Object作成 Set oHttp = CreateObject("MSXML2.XMLHTTP") 'HTML呼び出し(GET) oHttp.Open "GET", strURL, False oHttp.Send 'HTMLの取り出し sHTML = oHttp.responseText 'オブジェクトの参照終了 Set oHttp = Nothing 'HTML受信 HttpGetText = sHTML End Function '====================================== ' 分解処理 '====================================== Function Bunkai(strTEXT, arField) As String Dim arWork As Variant '項目名=値の集まり Dim arData As Variant '0=項目名,1=値 Dim N1 As Integer 'カウンター Dim N2 As Integer 'カウンター Dim DisplayMessage As String '確認用メッセージ arWork = Split(strTEXT, "<>") '項目毎に"<>"で分割 For N1 = LBound(arWork) To UBound(arWork) - 1 '全ての項目を処理する ReDim Preserve arField(1, N1) '項目名と値の配列を用意 arData = Split(arWork(N1), "=") '項目を項目名と値に"="で分解 For N2 = LBound(arData) To UBound(arData) If N2 = 0 Then arField(0, N1) = arData(0) '先頭は項目名 If N2 > 0 Then arField(1, N1) = arField(1, N1) & arData(N2) '先頭以外は値 Next DisplayMessage = DisplayMessage & "項目名:" & arField(0, N1) & vbCrLf DisplayMessage = DisplayMessage & "項目値:" & arField(1, N1) & vbCrLf & vbCrLf Next Bunkai = DisplayMessage End Function