我试图编写一些代码,用当前的工作表锁定每次使用宏时随机更改的单词。
到目前为止,我有:Sub Protect()
'
' Protect Macro
'
Dim strPassWord As String
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
strPassWord = "hello"
End Sub
然而,这实际上并没有使用密码“hello”锁定电子表格,而只是将其锁定并通过单击“unprotect sheet”轻松解锁。我想推进这个不仅用“你好”来锁定它,而是用一个随机的词来锁定它。
答案 0 :(得分:0)
创建一个随机“单词”的函数
Function RandomWord() as String
Dim i as Long, ret as String
For i=1 To 8 '8 characters length
ret=ret & Chr(Rnd*(Asc("z")-Asc("a")+1)+Asc("a")-1)
Next
RandomWord=ret
End Function
所以你可以使用
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:=RandomWord
现在,为什么你要用随机密码来保护工作表?