Excelは、多くの人が最大限に活用できる堅牢な開発環境を提供します。実際、多くの人が、ExcelをフレームワークとしてVBAを使用してアプリケーションプログラム全体を作成しています。

Excelでプログラム開発を行う場合、特定の日付を過ぎると機能しなくなるようにプログラムを作成する方法があるかどうか疑問に思われるかもしれません。幸いなことに、これはかなり簡単です。 1つの解決策は、Auto_Openマクロとして次のようなものを使用することです。

Sub Auto_Open()

Dim exdate As Date     exdate = "12/31/2020"

If Date > exdate Then         MsgBox ("You have reached end of your trial period")

ActiveWorkbook.Close     End If     MsgBox ("You have " & exdate - Date & "Days left")

End Sub

プログラムを実行しているシステムの日付がexdate変数で指定された日付よりも大きい場合、ユーザーには試用期間が終了したことを示すメッセージボックスが表示されます。ユーザーが[OK]ボタンをクリックすると、ブックが閉じます。試用期間が終了していない場合は、メッセージボックスに期間の残り日数が表示されます。

もちろん、このようなマクロをアプリケーションに配置すると、プログラムを変更するためにブックを開くことができなくなる可能性があります。もちろん、これを回避する明らかな方法は、Shiftキーを押しながらブックを開くことです。これを行うと、Auto_Openマクロの実行が停止します。ただし、ユーザーがこれを知っている場合は、ユーザーはあなたと同じように簡単に有効期限チェックをバイパスできます。解決策は、バイパスできず、プログラムに不可欠な他のマクロ内に同様のチェックを配置することです。

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

link:/ excelribbon-ExcelTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(10230)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice 365のExcelに適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。

link:/ excel-Expiration_Date_for_Excel_Programs [Excelプログラムの有効期限]