我正在尝试设置一个电子表格,供其他人使用,通过 Power Query 更新表格。当另一个用户使用电子表格时,他们会被要求 3 次输入用户名和密码,因为我有 3 个表正在更新。如何通过 VBA 为每个用户设置这些?
我尝试将连接设置为匿名,但他们无法访问数据。我已经询问用户他们的密码并且可以使用它。我尝试通过在录制宏时执行此操作来了解如何设置它,但未记录信息。我查看了对象以查看列表对象或查询表是否有密码设置。有一个保存密码,但它是一个属性。看来我不能设置它。
最佳答案
无法使用 VBA 将凭据传递给 Power Query。这将违反 Power Query 的安全模型。每个想要刷新查询的用户都需要拥有对数据源的访问权限。凭据不与工作簿或查询一起存储。相反,凭据是通过连接设置的,这些连接独立于特定工作簿并存储在本地计算机上。
在您的情况下,您需要授予所有人访问工作簿中包含的数据源的权限。
作为替代方案,您可以使用您的凭据设置包含所有查询的工作簿,将数据加载到网格中并根据需要刷新数据。然后,您可以构建另一个工作簿来读取该文件中的数据。让报表使用者能够访问该工作簿,然后他们就不需要访问原始数据源。
关于excel - 我可以通过 vba 设置 Excel Power Query 的用户名和密码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57776608/