我有一个基于 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 断开连接导致出现一些问题,因此无法填充列表,并且通常希望简化数据传输过程,因此我希望不使用 Access 将数据直接从 Excel 发送到 Sharepoint。我读过一些有关使用 Web 服务更新 Sharepoint 的内容,但我无法弄清楚它们到底是如何工作的,或者如何在 VBA 中实现它们。
我需要有关 Sharepoint 列表的哪些信息才能通过类似于上述代码的 Excel VBA 对其进行操作?我需要添加任何参考文献吗?
您可以使用 Camelot .NET 连接器,使用下一版本 (2.0) 附带的 COM+ 组件,直接从 VB/ASP 查询 SharePoint。看http://bendsoft.com/net-sharepoint-connector/ 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)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)