|识别电脑名称,自动开启关闭保护表格

|识别电脑名称,自动开启关闭保护表格

文章图片



数据表格中往往有部分数据是不能够对外展示的 。

当某些列的数据不可以对外展示 , 但为了后续操作方便又不愿意删除时 , 你该怎么办?
是的 , 可以对表格进行加密 。 在Excel审阅里有一个保护工作的菜单选项 。
它的解释是:通过限制其他用户的编辑能力来防止他们进行不必要的修改 。
举个例子:我将D列隐藏后 , 点击保护工作表 , 然后将设置列格式取消勾选 , 输入密码 。 那么在没有密码的情况便不可以进行取消隐藏操作 。
缺点:每次取消保护后 , 都需要重新进行保护工作表操作 。

对于缺点的解决方法 , 利用VBA的Workbook_BeforeClose在点击关闭时让Excel自动加密 。 同样的 , 也可以利用Workbook_Open在表格打开时自动取消加密 。
那么如果在加入Workbook_Open代码后 , 所有的电脑都可以自动取消加密 , 岂不是没有意义去保护工作表了 。
所以 , 这里要介绍一下Environ(\"Computername\")获取电脑设备名称 。 指定电脑设备打开时自动取消加密 , 这样就方便极了 , 也避免了忘记加密的尴尬 。

Private Sub Workbook_Open()Dim str As Stringstr = Environ(\"Computername\")If str = \"DESKTOP-R4T82VD\" ThenActiveSheet.Unprotect Password:=\"123\"End IfEnd SubPrivate Sub Workbook_BeforeClose(Cancel As Boolean)ActiveSheet.Protect DrawingObjects:=False _Contents:=True _Scenarios:=False _AllowFormattingCells:=True _AllowFormattingColumns:=False _AllowFormattingRows:=True _AllowInsertingColumns:=True _AllowInsertingRows:=True _AllowInsertingHyperlinks:=True _AllowDeletingColumns:=True _AllowDeletingRows:=True _AllowSorting:=True _AllowFiltering:=True _AllowUsingPivotTables:=True _Password:=\"123\"ActiveSheet.EnableSelection = xlNoRestrictionsEnd Sub
【|识别电脑名称,自动开启关闭保护表格】