レガシーなシステムを最新技術に頼らずになんとかする
特別な環境は、自らの成長を手助けする糧となる。ことがあるかもしれない...
地方の金融機関は銀行以外では、大抵の場合、上部団体の管理下にあるため、制約が厳しい。
外部ネットへの接続は、勿論のこと。サードパーティの導入やフリーソフトの利用にも許可が必要となります。
今回は、閉鎖空間の中でも動作が可能なもののみで、選定しシステムを構築しました。
参考にはならないでしょうが、概要設計の参考にでもできるかと思います。また似たようなところへの提案書の手助けにでもなるかもしれません。w
1. 実行基盤
本システムの概要は Excel VBA を中核として動作し、「印刷ログ処理 > メール解析 > 整合性チェック > レポート作成」までをすべて自動化しています。
作成したシステムをタスクスケジューラに登録して、定時になると自動起動し、自身の作業の削減に繋げました。
実機によっては、30分〜60分かかる事があった手作業は、ほぼ0分となり日次の作業項目から削除され、属人化していた作業もこれで、朝PCを起動するだけで良くなりました。
本システムのシーケンス図 (概要)
2. 起動方式
● VBS を利用した起動制御
- Excel を直接開かず、VBS(VBScript) が Excel マクロを起動
- UI 非表示モードで実行し、監視端末利用者に負荷をかけない構成
● タスクスケジューラー連携
- VBS を Windows タスクスケジューラーに登録
- 監視端末でバックグラウンド起動
- 指定時間ごとにログ収集・メール解析を自動実行
3. バックグラウンド動作の理由
- 監査対応のため 24 時間いつでも印刷監視が必要
- 人手での定期確認を完全排除
- 利用者の操作ミスや実行忘れをゼロ化
4. 構成のメリット
- Excel VBAのみでロジックを集中管理でき、メンテ性が高い
- Windows標準機能(VBS/タスクスケジューラー)のみで構築し、追加アプリ不要
- システムの常駐性と安定稼働が確保される
5. シーケンス図(印刷監視~レポート生成)
以下は、本システムの主要なフローを示すシーケンス図です。
これまでアナログだった箇所や手動のみでしかできなかった箇所を全自動化することに成功しました。
6. 自動化した主な領域とシステムに組み込んだ機能一覧
- これまで手動で行っていた印刷判定(メールの確認)・ログ整理(テーブルの作成)・Excel(レポート出力)への転記を完全自動化
- キーワード監視結果と印刷ログの整合性チェックを自動実施
- 定期レポートの自動生成
- 集計時の同一ログ登録の重複検証機能
- 既存のシステムとの差分検証機能
7. その他のサポート機能も紹介
- バックアップ/リストア機能(データ保全)
- ソート機能(複数条件対応)
- 重複チェック機能(日付・ユーザー・印刷物単位)
- ログ出力自動化(監査提出用)
-
プログレス機能
(処理中のダイアログ表示されプログレスバーなどで処理進捗が確認可能) - 前方システム互換性の連動した自動化(予想外)
- 独自の文字列操作フォーマット機能 (正規表現で操作)
8. その他
今後追加が必要な情報や、より深く記録したい処理については随時ヒアリングし、構成に追記していきます。
9. 反省点
VBAだけで構築したにしては、かなりの高機能なシステムになってしまった。
上司からの指示のもと作成したのだが、期待以上のものを作れたと思っている。
この作業自体も属人化しやすい環境下であるため、容易に引き継ぎが難しいタイプではあった。
いまは専属のプログラマーじゃないので、どうしても専業として構築ができず、別の作業の傍らにちまちま作成していたので、結果が出るまでには、約1年くらいかかった。今で助かっている。
追記
本システムで一番力を入れたのは、バックアップやリストア以外で、月またぎや年またぎ、週の連続休暇なども考慮されており、人事異動などで、PCが移動になっても追えるように想定された範囲内を全てカバーしているところです。