通过 VBA 在 Sharepoint 列表中添加和更新单个项目 [英] Add and Update Single Item in Sharepoint List via VBA
问题描述
我正在尝试通过 VBA 添加和/或更新共享点列表中的单个项目,我发现了一个类似的问题:从Excel表格导入Sharepoint 2010列表数据使用 VBA
I am trying to add and/or update single items in a sharepoint list via VBA and I found a similar question: Import Sharepoint 2010 list data from Excel table using VBA
但是我不得不说我只能用这个代码删除项目,我不熟悉这个代码来理解我是如何添加的.
But i have to say that I can only delete items with this code and I am not familiar with this code to understand how i add.
提前致谢
我也在这里:http://msdn.microsoft.com/en-us/library/lists.lists.updatelistitems(v=office.12).aspx 但我就是不明白
Also I was here: http://msdn.microsoft.com/en-us/library/lists.lists.updatelistitems(v=office.12).aspx but i just dont get it
推荐答案
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
现在我明白了.这是将项目添加到共享点列表的方法.FieldNameVar 是您必须放入某些内容的字段的名称(例如,此值是否可以是标题"),而 ValueVar 是您放入 FieldNameVar 字段中的值.
Now i got it. This is how you can Add items to a sharepoint list. FieldNameVar is the name of a Field you have to put something in (for example could this Value be 'Title') and ValueVar is the Value you put in the FieldNameVar field.
这篇关于通过 VBA 在 Sharepoint 列表中添加和更新单个项目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!