【发布时间】:2021-06-26 14:33:13
【问题描述】:
我有一个使用 VBA 更新共享点列表的简单脚本,但该脚本不起作用。
Option Explicit
Sub add_new_item()
Dim cnt As ADODB.Connection
Dim rst As ADODB.Recordset
Dim mySQL As String
Set cnt = New ADODB.Connection
Set rst = New ADODB.Recordset
mySQL = "SELECT * FROM [Test];"
With cnt
.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;WSS;IMEX=0;RetrieveIds=Yes;DATABASE=https://share.amazon.com/sites;List={9E4AEE54-AF41-430B-8780-8BD778A1A226};"
.Open
End With
rst.Open mySQL, cnt, adOpenDynamic, adLockBatchOptimistic
rst.AddNew
rst!Task_ID = Sheets("Sheet2").Range("C3").Value
rst.Update
'To close the connection and clean the memory
If CBool(rst.State And adStateOpen) = True Then rst.Close
Set rst = Nothing
If CBool(cnt.State And adStateOpen) = True Then cnt.Close
Set cnt = Nothing
End Sub
当我尝试运行它时,我收到以下错误:
在调试时,它发生在这一行:
rst.Open mySQL, cnt, adOpenDynamic, adLockBatchOptimistic
我相信我可能写错了连接字符串?
这是列表的链接:https://share.amazon.com/sites/IPV/Lists/Test/AllItems.aspx 这是列表 ID:List={9E4AEE54-AF41-430B-8780-8BD778A1A226}
【问题讨论】:
-
如果连接字符串错误,我预计它会在
conn.open上失败。在rst.open ...'之前添加行Debug.Print conn.DefaultDatabase -
抱歉重复评论,但我想看看您是否可以帮助我“因为它似乎是由于“Set objWksheet = WksSharePointData”,因为它声明变量 WksSharePointData 未定义,你会知道那是因为什么吗?我一直在网上到处搜索。”
标签: excel vba sharepoint sharepoint-list script