Import Sharepoint 2010 list data from Excel table using VBA

前端 未结 2 635
温柔的废话
温柔的废话 2021-01-03 12:52

i have learned how to gather data from a sharepoint list into Excel using VBA simple macro only.

Now i would like to do the other way around - update some list in m

2条回答
  •  南笙
    南笙 (楼主)
    2021-01-03 13:11

    Yes. You can use the XMLHttpRequest object provided by Microsoft's XML SDK, as well as the UpdateListItems web service provided by SharePoint to update one or more items. Add a reference to "Microsoft XML, v6.0" in the Tools -> References menu in your Visual Basic Editor, and then use something like the code below.

    Dim objXMLHTTP As MSXML2.XMLHTTP
    
    Dim strListNameOrGuid As String
    Dim strBatchXml As String
    Dim strSoapBody As String
    
    Set objXMLHTTP = New MSXML2.XMLHTTP
    
    strListNameOrGuid = "My List Name or GUID"
    
    ' Delete item with internal ID of "1"
    strBatchXml = "1"
    
    objXMLHTTP.Open "POST", "http://myserver/mysite/_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 = "" & strListNameOrGuid _
      & "" & strBatchXml & ""
    
    objXMLHTTP.send strSoapBody
    
    If objXMLHTTP.Status = 200 Then
        ' Do something with response
    End If
    
    Set objXMLHTTP = Nothing
    

    You can read more about the syntax of the UpdateListItems and how the batch XML should be structured by going here.

提交回复
热议问题