【エクセルVBA】マクロを時限式で使用できないようにする方法

excelvbaエクセル

期限付きのマクロ付きエクセルブックを配布したり、納品前に確認用で客先に配信するようなブックはその後使用できないようにしたいケースがあります。

その場合の方法を紹介します。

まず、VBにパスワードをかけて編集ができないようにします。

VBウィンドウ(エクセルブックウィンドウではありません)から「ツール」⇒「VBAProjectのプロパティ」を開いて「保護」タブを開きます。

「プロジェクトを表示用にロックする」にチェックを入れて下部のパスワードを入力して「OK」を押します。

次回ブックオープン時からパスワードを入力しないとVBAが見れなくなります。

その後、時限式にしたい関数の最初に

If Now > CDate("2021/3/28") Then
Exit Sub
End If

を追加します。

日付部分は時限の日付を入力してください。

現在日が指定の日より大きいと処理をすることなくsubを抜けます。

 

VBAがパスワードによってロックされますのでパスワードを知らなければ修正ができません。

尚、納品時などに時限式を解除する必要がある場合は気を付けてください。

コメント

タイトルとURLをコピーしました