创建 ADO 数据连接Excel 和 SharePoint时如何强制进行身份验证?

问题描述

我有一个 Excel 工作簿用作报告生成器,它从列表(p.k.a. SharePoint)中获取内容。我能够使用 ACE OLEDB 12.0 和标准代码成功建立数据连接,例如:

ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;WSS;IMEX=1;RetrieveIds=Yes;" & _
"DATABASE=" & HOST & ";" & _
"LIST=" & TableGUID & ";"

Set cnn = New ADODB.Connection
Set rec_set = New ADODB.Recordset
With cnn
    .ConnectionString = ConnectionString
    .Open
    End With

rec_set.Open Query,cnn,adOpenStatic,adLockOptimistic

但是,此代码仅在我手动启动身份验证过程后才会执行。例如,我可能会经历“从 Web 获取外部数据”的过程,该过程会启动该过程。或者,我可能有一个使用 SharePoint 发送的 iqy 文件的数据连接(*问题),这也会触发身份验证。在我这样做之前,该过程在 rec_set.Open 失败,并显示错误消息“[Table] is not found”,我认为这是“我无法连接到数据库”的红字。

我已尝试(但失败)向连接字符串添加身份验证指令,例如 User=、Password= 等,但据我所知,这些指令不适用于 SharePoint 列表。

这就是我所说的身份验证:

Authentication screen

*使用 iqy 文件连接有两个问题。首先,我认为这限制了工作簿的可移植性,我希望能够分发它。其次,我认为这种方法会导入整个 SharePoint 表,随着这些表变大,我想过滤查询

我希望我的用户必须点击它,这很好,但我想以编程方式触发它。想法被感激地接受。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)