У меня есть список sharepoint, который содержит поля ниже
1) id
2) type
3) body
Я хочу добавитьэлементы в приведенном выше списке (в трех столбцах одновременно и в одной строке) с использованием функции VBA.
Я думал о создании функции, которая получает словарь, в котором каждая строка словаря будет иметь значение и поле (ключ) списка, в который она будет добавлена.Но я не знаю, если это лучший способ.
Я пытаюсь адаптировать функцию ниже для моей проблемы.Но это не работает.
Sub Add_Item(ListName As String, SharepointUrl As String, ValueVar As
String, FieldNameVar As String)
Dim objXMLHTTP As MSXML2.XMLHTTP
Dim strListNameOrGuid As String
Dim strBatchXml As String
Dim strSoapBody As String
Set objXMLHTTP = New MSXML2.XMLHTTP
strListNameOrGuid = ListName
'Add New Item'
strBatchXml = "<Batch OnError='Continue'><Method ID='3' Cmd='New'><Field
Name='ID'>New</Field><Field Name=" + FieldNameVar + ">" + ValueVar + "
</Field></Method></Batch>"
objXMLHTTP.Open "POST", SharepointUrl + "_vti_bin/Lists.asmx", False
objXMLHTTP.setRequestHeader "Content-Type", "text/xml; charset=""UTF-8"""
objXMLHTTP.setRequestHeader "SOAPAction",
"http://schemas.microsoft.com/sharepoint/soap/UpdateListItems"
strSoapBody = "<soap:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-
instance' " _
& "xmlns:xsd='http://www.w3.org/2001/XMLSchema' " _
& "xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'><soap:Body>
<UpdateListItems " _
& "xmlns='http://schemas.microsoft.com/sharepoint/soap/'><listName>" &
strListNameOrGuid _
& "</listName><updates>" & strBatchXml & "</updates></UpdateListItems>
</soap:Body></soap:Envelope>"
objXMLHTTP.send strSoapBody
If objXMLHTTP.Status = 200 Then
' Do something with response
End If
Set objXMLHTTP = Nothing
End Sub
Любая помощь будет оценена.Заранее спасибо.