昨天是星期六,发了篇介绍如何在已知Excel工作簿密码的前提下把Excel工作簿密码给解除的文章。
然后公众号后台就有人提问假如我有一堆需要保密的文件,能不能批量给多个Excel工作簿设置打开密码。
这个问题VBA肯定是可以办到的,但是如果我们还是通过录制宏来找答案那是行不通的,比如当我们录制给Excel工作簿设置打开密码的动作时,录制出来的宏代码是类似这样的:
上面的宏代码仅仅是录制了一个另存工作簿的代码,并没有给工作簿设置打开密码。
这就是录制宏的弱势,它不可能把所有操作都精准的录制成宏代码,但是它还是有作用的。
通过上面的录制宏,我们知道了另存工作簿的代码是
然后结合昨天提到的操作步骤,我们可以去Excel VBA 帮助文档找到工作簿对象Workbook的SaveAs方法的语法如下:
其中有个参数Password通过查阅帮助文档可以得知,这个参数就是设置打开密码的。
有了上述的知识,我们就可以将在录制宏的基础上把代码改成这样的:
上述介绍的是一种如何通过录制宏寻找相应的VBA代码的方法。
当然如果是常见问题,我们可以直接百度搜索就能找到类似的VBA代码了。如果比较冷门的问题,就可以试试上述的方法来找寻对应的VBA代码。
有了给单个Excel工作簿设置打开密码的方法后,要批量给多个Excel工作簿设置打开密码,无非就是对每个Excel工作簿都执行同样的过程就是了。
这里就简单介绍下整个VBA代码的逻辑思路:
1.将所有要设置打开密码的工作簿文档放到一个文件夹;
2.在VBA中设置一个选择文件夹代码,选择对应的文件夹;
3.对该文件夹的所有Excel工作簿循环,每次都先打开,然后通过上述代码设置打开密码就可以了。
领取专属 10元无门槛券
私享最新 技术干货