目标 - 专门通过Excel VBA代码将SharePoint列表数据导入Excel。
问题 - 以下代码按预期将列表值加载到Excel中,但我想 传递用户名&密码手动 使用相同的代码,以便我可以根据需要更改凭据。
使用的技术 - SharePoint 2010和Excel VBA。
完整代码:
Sub RCAFunc()
Dim objMyList As ListObject*emphasized text*
Dim objWksheet As Worksheet
Dim strSPServer As String
Const SERVER As String = "intranet.xyz.com/Ops/RCA/"
Const LISTNAME As String = "{15f4dl02-iz9g-496o-uh9q-6br0984bb9tw}"
Const VIEWNAME As String = "294O2P46-ZC5S-4ETL-BQC9-4I234A4C4025"
' The SharePoint server URL pointing to
' the SharePoint list to import into Excel.
strSPServer = "http://" & SERVER & "/_vti_bin"
' Add a new worksheet to the active workbook.
'Set objWksheet = Worksheets.Add
Set objWksheet = Worksheets("MySheet1")
' Add a list range to the newly created worksheet
' and populated it with the data from the SharePoint list.
Set objMyList = objWksheet.ListObjects.Add(xlSrcExternal, Array(strSPServer, LISTNAME, VIEWNAME), True, , Range("a1"))
Set objMyList = Nothing
Set objWksheet = Nothing
Call MyList1
'MsgBox ("Task Completed!")
End Sub
Sub MyList1()
Dim wrksht As Worksheet
Dim objListObj As ListObject
Set wrksht = ActiveWorkbook.Worksheets("MySheet1")
Set objListObj = wrksht.ListObjects(1)
objListObj.Unlist
End Sub
谢谢!
答案 0 :(得分:0)
您没有说明为什么需要这个,如果您使用它来将一些数据分发给其他人,那么您可以在sharepoint上设置权限,以便其他人也可以访问数据。
如果那不可能(?)那么您可以使用OLEDB连接到sharepoint,在其中设置用户凭据。
但是,如果分发此文件而不是在vba纯文本代码中存储用户名和密码,那是一个非常糟糕的主意。
答案 1 :(得分:0)
我发现This connection string reference表示您可以将用户名和密码附加到网址。
您也可以通过使用凭据运行Excel来手动提供凭据,因为VBA通常在与应用程序相同的上下文中运行。
或者,您可以通过ADO获取数据,这应该允许您在连接字符串中设置凭据。 Here is an example