VBAを使用して期限付きパスワード保護を設定する
0(0件)

BA (Visual Basic for Applications)は、Microsoft Officeのアプリケーションを自動化するためのプログラミング言語です。この記事では、特定の期日が過ぎたらExcelワークブックにパスワード保護を施す方法をVBAを使って説明します。この方法を用いると、期日を過ぎた場合にユーザーがパスワードを入力しない限りワークブックを開くことができなくなります。

コードの概要

以下のVBAコードは、ワークブックが開かれるときに実行されます。指定した日付を過ぎると、パスワード入力を求め、正しいパスワードが入力されない場合にはワークブックが閉じられます。

Private Sub Workbook_Open()
' ターゲット日付を設定
Dim targetDate As Date
targetDate = "2023/05/19"

' 現在の日付を取得
Dim currentDate As Date
currentDate = Date

' 現在の日付がターゲット日付を過ぎている場合、パスワードを要求
If currentDate > targetDate Then
' ユーザーからのパスワード入力を要求
Dim password As String
password = InputBox("パスワードを入力してください")

' 正しいパスワードを設定
Const correctPassword As String = "myPassword"

' 入力されたパスワードが正しければ、処理を続行
' 正しくなければ、ワークブックを閉じる
If password <> correctPassword Then
ThisWorkbook.Close SaveChanges:=False
End If
End If
End Sub

セキュリティについての注意点

上記のコードでは、正しいパスワードがVBAコード内にプレーンテキストで書かれています。これはセキュリティリスクとなり得るため、実際の運用環境ではより安全な方法を検討してください。例えば、ハッシュ化されたパスワードを使用する方法や、外部の安全な場所にパスワードを保存する方法などが考えられます。

さらに、VBAプロジェクト自体をパスワードで保護することで、不正なアクセスを防ぐことができます。この方法を使用すると、VBAエディターでコードを表示または変更するにはパスワードが必要になります。

1時間当りのおおよそのコンサル料金・おおよその月額サービス料・Myサイト・連絡先

1時間当りのおおよそのサービス料金

 円 ※あくまでも目安であり連絡先を交換して交渉してください。

おおよその月額サービス料

 円 ※あくまでも目安であり連絡先を交換して交渉してください。

電話番号

メールアドレス

サイト

※免責事項

投稿内容には、見解の相違もあり投稿者の見解で記載される事項もあります。実践されたことによる損害等の責任は、運営者・投稿者を含め一切負いかねますのでご了承ください。

コンサルタント

業務効率・生産性系 ITエンジニア系

コンテンツ

財務・経理・税務スキル ソフトウェア開発・Web開発・HP制作・プログラミング

法人・個人

法人

この情報は  さんが掲載しました。

投稿者のすべてのサービスの内容・プロフィール等

メッセージを送って相談や仕事を依頼しましょう

投稿内容、プロフィールなどを確認して仕事の内容・金額調整、顧問契約の調整などをしてみる。以下のボタンをクリックするとチャットメッセージで直接連絡がとれます。

※メッセージを送信するためにはログインが必要です。

投稿者のプロフィール
この記事の投稿者

IntelligenceShare(インテリジェンスシェア)の中の事務局スタッフ兼先生の赤パンです。

投資、副業、パソコン操作、実務の手続は、ちょっと得意です。

赤パン先生をフォローする
シェアする
赤パン先生をフォローする

コメント

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