-1

マクロを使用するたびに変化するランダムな単語で現在のワークシートをロックするコードを作成しようとしています。

これまでのところ、私は持っています:

Sub Protect()
'
' Protect Macro
'
    Dim strPassWord As String
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    strPassWord = "hello"    
End Sub

ただし、これは実際にはパスワード「hello」でスプレッドシートをロックするのではなく、単にロックするだけで、「シートの保護を解除」をクリックすることで簡単にロックを解除できます。これを進めて、「こんにちは」でロックするだけでなく、ランダムな単語でロックしたいと思います。

4

1 に答える 1

2

ランダムな「言葉」を作る機能を作る

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

では、なぜランダムなパスワードでシートを保護するのでしょうか?

于 2013-07-11T14:25:42.877 に答える