【Excel VBA】Excel業務管理システム
システムコンセプト
「初回利用者はすぐ試せる。購入後は永久ライセンスに切り替える。」
利用者の操作は非常にシンプルです。
初回起動
↓
開始画面
↓
【体験版を開始】
↓
30日間利用可能
↓
期限切れ
↓
【永久ライセンスを登録】
↓
永久利用
体験版と永久版で操作を分けることで、迷いにくくなります。
システム構成
Excelシステム
│
├── ThisWorkbook
│
├── Module_Config
│
├── Module_Common
│
├── Module_License
│
├── Module_UI
│
├── 開始画面
│
├── メイン
│
└── System(VeryHidden)
開発順番(最適化版)
第1章 開始画面(最優先)
先に画面を完成させます。
開始画面には次の情報を表示します。
━━━━━━━━━━━━━━━━━━━━
Excel業務管理システム
Version 1.0
━━━━━━━━━━━━━━━━━━━━
ライセンス状態
体験版
ライセンス種別
30日体験版
初回利用日
2026/07/15
有効期限
2026/08/14
残り日数
30日
━━━━━━━━━━━━━━━━━━━━
[体験版を開始]
[永久ライセンス登録]
━━━━━━━━━━━━━━━━━━━━
この画面がシステムの入口になります。
第2章 Systemシート(VeryHidden)
ライセンス情報を保存する専用シートを作成します。
例:
| A列 | B列 |
|---|---|
| LicenseType | TRIAL / PERMANENT |
| FirstRunDate | 2026/07/15 |
| ExpireDate | 2026/08/14 |
| LastRunDate | 2026/07/15 |
| Registered | TRUE / FALSE |
ユーザーには見えないように xlSheetVeryHidden に設定します。
第3章 Module_Config
設定だけをまとめます。
システム名
Version
30日
開始画面名
メイン画面名
Systemシート名
永久ライセンスパスワード
変更が必要になったら、このモジュールだけ編集します。
第4章 Module_Common
共通処理をまとめます。
例えば、
- Systemシートの取得
- データの読み書き
- 日付の変換
- シート存在確認
- エラーメッセージ表示
ライセンス以外でも使える汎用関数を置きます。
第5章 Module_License(システムの中心)
ここがライセンス管理の本体です。
役割は次のとおりです。
① 初回起動チェック
初回なら
今日の日付
↓
FirstRunDate保存
② 有効期限計算
初回日
+30日
↓
有効期限
③ 体験版開始
開始ボタンを押すだけ。
開始
↓
初回日保存
↓
体験版開始
パスワード入力は不要です。
④ 永久ライセンス登録
永久版を購入したユーザーだけ実行します。
永久ライセンス登録
↓
パスワード入力
↓
一致
↓
LicenseType = PERMANENT
登録後は期限を無視して利用できます。
⑤ 起動時判定
LicenseType
↓
PERMANENT?
↓
YES
↓
そのまま起動
違う場合
TRIAL
↓
期限確認
期限内なら利用可能です。
⑥ 残り日数
ExpireDate
-
今日
で計算します。
第6章 Module_UI
開始画面の表示だけを担当します。
表示内容:
ライセンス状態
ライセンス種別
初回利用日
有効期限
残り日数
Version
さらに、
- 残り30日以上:通常表示
- 残り7日以下:赤文字
- 期限切れ:「期限切れ」と表示
など、見た目の制御もここで行います。
第7章 ThisWorkbook
ここにはイベント処理だけを書きます。
開いたとき
開始画面表示
↓
ライセンス情報更新
↓
ライセンス判定
↓
利用可能
↓
メイン表示
閉じるとき
開始画面表示
↓
他シートVeryHidden
↓
保存
↓
終了
起動イメージ
Excel起動
│
▼
開始画面
│
▼
ライセンス情報表示
│
├─────────────┐
│ │
▼ ▼
体験版開始 永久ライセンス登録
│ │
▼ ▼
30日開始 パスワード入力
│ │
└──────┬──────┘
▼
メイン画面
この設計のメリット
- 初回利用者はパスワード不要で、すぐに体験版を利用開始できます。
- 購入者だけ永久ライセンスパスワードを入力すれば、その後は期限を気にせず利用できます。
- 体験版と製品版の流れが自然で、利用者が迷いません。
- ライセンス情報は
Systemシートに集約されているため、管理や保守がしやすくなります。
将来の拡張も容易
この構成なら、後から以下の機能も追加しやすくなります。
- PC固有情報と永久ライセンスを紐付ける(他PCへのコピー対策)
- 永久ライセンスキーを複数発行して管理する
- バージョン情報や更新履歴を開始画面に表示する
このように**「体験版開始」と「永久ライセンス登録」を完全に分離**しておくと、コードもシンプルになり、ユーザーにも分かりやすいシステムになります。


