使用 VBA 从共享点获取列表项

问题描述

我正在使用它并尝试通过在 Excel 中使用 VBA 来获取共享点列表项,但我收到了 401: UNAUTHORIZED 的错误。有人请帮我吗?谢谢

Dim webUrl,wsdl,action,soap ',xhr As XMLHTTP60

Dim xhr As Object
   
 itemId = 397477
   
 LISTNAME = "Example"
   
 webUrl = "http://servername"   'set to SharePoint site url
  
  wsdl = "/_vti_bin/Lists.asmx"
  
  action = "http://schemas.microsoft.com/sharepoint/soap/GetListItems"

soap = "<?xml version=""1.0"" encoding=""utf-8""?>" & _

"<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>" & _  
      "<GetListItems xmlns=""http://schemas.microsoft.com/sharepoint/soap/"">" & _  
      "<listName>" & LISTNAME & "</listName>" & _  
      "<query><Query>" & _
           "<Where><Eq><FieldRef Name=""ID""/><Value Type=""Integer"">" & itemId & "</Value></Eq></Where>" &_      
      "</Query></query>" & _      
      "<viewFields><ViewFields/></viewFields>" & _     
   "</GetListItems>" & _  
  "</soap:Body>" & _
"</soap:Envelope>"

   
 Set xhr = CreateObject("MSXML2.ServerXMLHTTP.6.0") 
 xhr.Open "POST",webUrl & wsdl,False   
 xhr.setRequestHeader "Content-Type","text/xml; charset=utf-8"   
 xhr.setRequestHeader "SOAPAction",action   
 xhr.Send soap

  MsgBox xhr.Status & ":" & xhr.statusText & vbCrLf & xhr.responseText

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)