如何通过Excel VBA代码手动传递用户名和密码以获取SharePoint 2010列表数据

目标 – 通过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 

谢谢!

你没有指定为什么你需要这个,如果你使用它来分配一些数据给别人,那么你可以在sharepoint上设置权限,这样其他人也可以访问数据。

如果这是不可能的(?),那么你可以使用OLEDB连接到共享点,在其中设置用户凭据。

但是,如果这个文件将分发存储在VBA纯文本代码的用户名和密码,是一个非常糟糕的主意。

我发现这个连接string参考 ,这表明你可以追加用户名和密码的URL。

您也可以通过使用凭据运行Excel来手动提供凭据,因为VBA通常在与应用程序相同的上下文中运行。

或者,您可以通过ADO来获取数据,这应该允许您在连接string中设置凭据。 这是一个例子