精进ExcelVBA分享专栏Excel 加油站

Excel VBA工作薄 5.12批量解除工作薄保护 绝不为难自

2021-03-03  本文已影响0人  Excel和VBA

前景提要

昨天我们分享了如何通过VBA实现批量工作薄保护的功能,这样一来我们做好的数据,其他人可以看,可以参考,甚至可以复制粘贴都可以,但是就是无法更改我们的数据,我们的数据只能自己更改,这样是不是很方面,对于经常需要将自己的报表数据分享给其他人使用的童鞋来说,是非常的实用的,但是,但是,,,等你拿回来要自己再次更新修改数据的时候,是不是要一个一个的去解除锁定呢?毕竟excel是没有办法人脸识别,认识我这个主人啊,怎么办呢?别方,既然能批量锁定,自然就有批量解除锁定的方法咯

场景模拟

还是昨天的数据,我们昨天成功的锁定了所有的工作薄,这样其他人都无法更改我们分享的数据了。


image.png

但是轮到我们自己修改数据的时候,也会有这样的苦恼,虽然我有密码,但是工作薄实在太多了,所以我们还是用vba来批量解锁,解铃还须系铃人嘛

方法分析

方法也很简单,保护是protect,那么解除保护呢,unprotect,nice,来上代码

代码区

Sub protect()

Dim pathn$

pathn = ThisWorkbook.Path

f = Dir(pathn & "\")

Do While f <> ""

    If f <> "test.xlsm" Then

        Application.ScreenUpdating = False

        Workbooks.Open (pathn & "\" & f)

        ActiveSheet.Unprotect "123"

        Application.ScreenUpdating = True

        ActiveWorkbook.Close True

    End If

    f = Dir()

Loop

End Sub

我们来看看最终的效果

打开功能正常,我们自己也可以复制粘贴

image.png

任意添加新的工作薄

image.png

非常完美,这样我们不仅仅阻止了他人肆意的篡改我们的数据,同时我们也可以轻松方便的实现工作薄的接触保护功能,保护只是用来限制他人的,怎么可能反过来为难自己的操作呢,哈哈

代码分析

很简单,接触保护的功能就一句代码

ActiveSheet.Unprotect "123"

记住,不要忘记密码了哈,忘记密码了,那你真的是自己为难自己了。

上一篇下一篇

猜你喜欢

热点阅读