我使用XML導入來填充一個電子表格來從雲端拉回事務。導入數據後,我需要將狀態更新爲「6」以指示Synched,並將其發送回服務。每個交易都有一個唯一的ID,我試圖填充,所以當我發佈時,它會選擇正確的記錄。VBA組XML元素在變量值的XML發佈
的響應表示未發送的ID。 「無法找到要使用id更新的對象:無。」硬編碼字段似乎正常工作。當我運行調試時,SndID的值設置正確。
我用「+ SndID +」,這是我用我的XMLImport什麼(見下面的代碼用於設置變量)可變日期範圍,但得到相同的響應嘗試。
L2LConnect = "https://mycompany.clousdservice.com/api/1.0/spares/
auth=password&issued__gte=" + cYesterday +
"&issued__lt=" + cToday + "&limit=1000&format=xml&site=1"
任何有關如何將SndID的值設置爲該行的ID的想法?設置後我也嘗試發送StrData。
StrData = "&format=xml&site=1&id=" + SndID +
"&status=6&closed=True&LastUpdatedBy=L2LSynch"
其中返回相同的錯誤。 ID =無。
' RunUpdate Macro
'
Dim myTable As Range
Dim rng1 As Range
Dim URL As String
Dim objHTTP As Object
Dim strResponse As String
Dim StrData As String
Dim SndID As String
Sheets("XML Import").Select
Set myTable = Sheets("XML Import").Range("Table2")
For Each rng1 In myTable.Columns(11).Cells
SndID = rng1.Value
Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
URL = "https://mycompany.cloudservice.com/api/1.0/spares/
auth=mypassword&format=xml&site=1"
objHTTP.Open "POST", URL, False
objHTTP.send
"&format=xml&site=1&id=SndID&status=6
&closed=True&LastUpdatedBy=L2LSynch"
strResponse = objHTTP.responsetext
MsgBox strResponse
Next rng1
End Sub
謝謝!
謝謝,添。仍然得到同樣的迴應:<?XML版本=「1.0」編碼=「UTF-8」?>假 找不到對象ID爲更新:無 –
你肯定在'SndID有一個值'? –
當我在調試查看它表明:strData是: 「&站點= 1&ID = 36369&狀態= 6&閉合=真&LastUpdatedBy = L2LSynch」:字符串。以下是調試窗口中的其他一些值: :responseBody:<完成此操作所需的數據尚不可用。 :狀態:<此方法不能被調用,直到發送方法被調用 :文字:「FalseCould找不到對象ID爲更新:無」:字符串 :XML:?「<?XML版本=」 1.0" >假 找不到對象ID爲更新:無 –