通过VBA添加和更新Sharepoint列表中的单个项目

我试图通过VBA添加和/或更新SharePoint列表中的单个项目,我发现了一个类似的问题: 使用VBA从Excel表导入Sharepoint 2010列表数据

但我不得不说,我只能删除与此代码的项目,我不熟悉这个代码,以了解我如何添加。

提前致谢

编辑:我也在这里: http : //msdn.microsoft.com/en-us/library/lists.lists.updatelistitems(v=office.12).aspx但我只是不明白

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 

现在我懂了。 这是如何将项目添加到SharePoint列表。 FieldNameVar是一个字段的名称,你必须把一些东西(例如,这个值可以是'Title'),而ValueVar是你放在FieldNameVar字段中的值。