excel - 我可以通过 vba 设置 Excel Power Query 的用户名和密码吗?

标签 excel vba powerquery

我正在尝试设置一个电子表格,供其他人使用,通过 Power Query 更新表格。当另一个用户使用电子表格时,他们会被要求 3 次输入用户名和密码,因为我有 3 个表正在更新。如何通过 VBA 为每个用户设置这些?

我尝试将连接设置为匿名,但他们无法访问数据。我已经询问用户他们的密码并且可以使用它。我尝试通过在录制宏时执行此操作来了解如何设置它,但未记录信息。我查看了对象以查看列表对象或查询表是否有密码设置。有一个保存密码,但它是一个属性。看来我不能设置它。

最佳答案

无法使用 VBA 将凭据传递给 Power Query。这将违反 Power Query 的安全模型。每个想要刷新查询的用户都需要拥有对数据源的访问权限。凭据不与工作簿或查询一起存储。相反,凭据是通过连接设置的,这些连接独立于特定工作簿并存储在本地计算机上。

在您的情况下,您需要授予所有人访问工作簿中包含的数据源的权限。

作为替代方案,您可以使用您的凭据设置包含所有查询的工​​作簿,将数据加载到网格中并根据需要刷新数据。然后,您可以构建另一个工作簿来读取该文件中的数据。让报表使用者能够访问该工作簿,然后他们就不需要访问原始数据源。

关于excel - 我可以通过 vba 设置 Excel Power Query 的用户名和密码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57776608/

相关文章:

VBA - 在继续执行下一个子之前等待一段时间

vba - Excel VBA - 删除重复项

vba - 使用间隔计时器增加计数

vba - 在 Excel VBA 中使用 LIKE 查找单元格的重复项?

java - 如何通过 java 从 Power Query 查询生成 excel 文件?

vba - 删除 CSV(Excel) 中除第 n 行之外的所有行

text - powerquery 按可变字段长度拆分列

sql - 如何在保存到 OneDrive 的 Excel 工作簿中运行 SQL 查询?

vba - 如何在 Excel VBA 中将值从一个子传递到另一个子

excel - 在数组函数中,IF 语句逻辑测试中的 {1,0} 有什么作用?