打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
工作簿有密码,自动刷新数据,没问题! | PQ重要技巧

- 1 -

Excel有密码,PQ没办法

       一直以来,我们在用Power Query接入各种各样的数据的时候,如果这个数据源需要用户名密码,比如各种数据库,Power Query通常都直接提供输入用户名、密码的对话框,这样就可以在后续刷新数据的时候完整自动验证的过程。

       然鹅,偏偏回到Excel本身,如果工作簿设置了密码,Power Query却没有提供输入密码自动刷新的功能,结果,碰到有密码的Excel工作簿时,刷新就会出错,还提示为“文件包含损坏的数据”……如下图所示:

       那如果希望能一气呵成地自动刷新,难道就没有办法了吗?

       当然不会!

       这个时候,不要忘了还有咱们的老朋友VBA嘛!通过Power Query与VBA的强强联合,咱们就可以刷新对带密码Excel工作簿数据的自动刷新。

- 2 -

Excel和PQ中的处理

       为方便实现动态路径,我们先建立一个路径表,类似于我在以前文章(视频)《批量汇总Excel数据的建议解法-1_同一工作簿内多表》里的做法,这里直接在Excel里处理好数据源的引用路径,既方便Power Query的引用,也方便在VBA里引用:

        同时将这个表接入到Power Query里:

       这样,就可以在获取数据源时直接引用已经处理好的路径:

       重要技巧:这里如果直接引用带密码的Excel工作簿,后面的数据处理过程将无法进行,所以,应该先把要加密的Excel工作簿解密,处理好后再重新加密。或者,先复制一份,去掉密码,做好后续处理再修改为对加密Excel工作簿的引用路径。

- 3 -

VBA实现解密刷新

      通过VBA,我们可以用密码打开数据源工作簿,清除密码,然后刷新查询,刷新完毕后再对数据源工作簿重新加密……是不是很像“把大象放进冰箱里”的三个步骤?

       具体过程如下图所示:

       具体代码如下,供大家按需参考改用:

























Sub RefreshQuery()
Dim path As String Dim wb As Workbook path = ThisWorkbook.Sheets("路径").Range("B2").Value Application.ScreenUpdating = False
'1、打开工作簿,清除密码并保存关闭 Set wb = Workbooks.Open(path, Password:="123456") wb.Password = "" wb.Save wb.Close
'2、刷新数据 ThisWorkbook.Connections("查询 - 表2").Refresh
'3、重新打开工作簿,设置密码并保存关闭 Set wb = Workbooks.Open(path) wb.Password = "123456" wb.Save wb.Close Application.ScreenUpdating = True
End Sub

      编辑好代码后,我们还可以在返回数据的Excel界面里,插入数据刷新按钮:

      使刷新按钮指向前面编辑的宏:

       最后,我们再设置Power Query查询的属性为【不】“允许后台刷新”,避免在数据未完成刷新时,刷新代码后面的步骤(重新加密)被执行而导致刷新失败:


       这样,我们就又可以一键刷新了:

     注意,这里数据刷新后,查询上仍然会提示如文章开头所说的错误信息,但这并不影响数据的更新和使用。

- 4 -

PBI怎么办?

      上面通过与VBA的强强联合,我们实现对Excel的Power Query引用加密Excel数据的自动刷新,但是,Power BI里没有VBA哦,怎么办?

       研究工作已完成,敬请期待……

【近期热门文章】

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
用Power Query轻松合并多个工作表,还能随之更新
学会这个技巧,分分钟成为EXCEL大神!
04 如何在Power Query中使用SQL语言?
Excel格式化表单如何批量转换并汇总为规范的明细表?
power query要逆天,1句公式跨工作簿整合所有分表,轻松多表透视
吹灰之力,搞定Excel数据合并的自动化问题
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服