gpt4 book ai didi

sharepoint - 如何使用 Excel VBA 将项目添加到 Sharepoint 列表?

转载 作者:行者123 更新时间:2023-12-02 11:28:40 27 4
gpt4 key购买 nike

我有一个基于 Excel 的应用程序,它收集一些用户输入,并根据该用户输入进行一些计算。应用程序本身不存储任何用户输入或计算;当前,每当用户运行应用程序时,它都会将数据发送到 Access 数据库并将一行插入到 Access 表中 xlTable链接到 Sharepoint 列表。相关代码为:

sub sendToSharepoint(userName as string, folderPath as string, calculatedValue as long)

dim db as DAO.database
dim insertStr as string

'open connection to Access db
set db=OpenDatabase(myDatabasePath)

'build insert string
insertStr="insert into xlTable (userName,folderPath,calculatedValue,workDate) values (""" & userName & """,""" & folderPath & """," & calculatedValue & ","#" & Now & "#)"

'insert values into xlTable, which adds them to the Sharepoint list
db.execute insertStr,dbFailonError

end sub

因为我们在 Access 与 Sharepoint 断开连接时遇到了一些问题,因此没有填充列表,并且通常希望简化我们的数据传输过程,我想直接将数据从 Excel 发送到 Sharepoint,而不使用 Access。我已经阅读了一些关于使用 Web 服务更新 Sharepoint 的内容,但我无法弄清楚这些是如何工作的,或者如何在 VBA 中实现它们。

我需要关于我的 Sharepoint 列表的哪些信息才能从类似于上述代码的 Excel VBA 操作它?我需要添加任何引用资料吗?

最佳答案

您可以使用 Camelot .NET 连接器使用下一版本 (2.0) 附带的 COM+ 组件直接从 VB/ASP 查询 SharePoint。见 http://bendsoft.com/net-sharepoint-connector/ .

'define connection string
Dim connectionString
connectionString = "Server=mysharepointserver.com;Database=sites/test;Domain=;User=xxxx;Password=xxxx;Authentication=Ntlm;TimeOut=50;RecursiveMode=RecursiveAll;DecodeName=True;NoListFilters=False;ExpandUserFields=False;StrictMode=true;DefaultLimit=1000"

'activate connector com+
Dim connector
Set Connector = CreateObject("Camelot.SharePointConnector.Com.Connector")

' your query
Dim sql
sql = "insert into sharepointlist (userName, folderPath, calculatedValue, workDate) values ('" & userName & "', '" & folderPath & "', " & calculatedValue & ", '" & Now & "')"

' execute query
connector.ExecuteNonQuery(sql, connectionString)

关于sharepoint - 如何使用 Excel VBA 将项目添加到 Sharepoint 列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10147731/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com