道具としてのExcel活用

夜寝ている間に、Excelマクロ(VBA)を自動実行

Excelマクロも、RPAも、ボタンを押す人が必要!? 

理想は完全無人運転

ExcelのマクロもRPAも、「繰り返し同じような作業を人がやるのは無駄」という発想から始まっています。

しかし、皮肉なことに、たいていは動かすためには何らかのトリガーを引く必要があります。

このため、コロナ騒ぎで在宅就業となっているにも関わらず、マクロのボタンを押すために出社する・・・といった笑えない話を聞きました。

この解決策として、リモートで会社に接続する方法がよく紹介されていますが、完全自動化すればその必要もありません。

 

決まった時間に決まった仕事を繰り返す、タスクスケジューラ

完全自動化、といっても、Excel側で特別に何かをする必要はありません。
強いて挙げれば、起動した際に自動的に実行するファンクションを決めておくとよいでしょう(他にもいろいろやり方があります)。

Windowsの機能に、時間が来たら指定したアプリケーションを実行する「タスクスケジューラ」というものがあります。

ここに、自作のExcelファイルを指定しておけば、「平日の朝4時に○○○○○.xlsmを自動実行する」ようなことができます。夜になったら強制的にWindowsをシャットダウンする、といった使い方が多いようです。

Excelのマクロファイルは、アプリケーションではないので、アプリケーション=Excel、引数の追加=マクロファイルを指定します。

余談ながら、寝ている間に処理する方式を「夜間バッチ」といい、しばらく前まで金融のシステムの大半は、夜間バッチで翌日用のデータを作っていました。

毎日定時にExcelマクロを実行する方法

 

自動実行時、マクロを有効にする方法

マクロ入りのファイルのマクロを有効にする

ここまでの方法では、ファイルは開けても、マクロが有効化されません。

ファイル 矢印 オプション → セキュリティセンター → セキュリティセンターの設定、とたどっていき、「信頼できる発行元」にマクロファイルを登録してあげれば、次回から自動的にマクロを有効にして実行できます。

毎日定時にExcelマクロを実行する方法

 

情報システムとしての応用

情報システムとしてこの機能を使うことで、例えば以下のようなことができます(いずれも、実事例)。

  • 夕方の締め時刻になったら、指定フォルダ内にあるExcelの伝票ファイルをすべて集計する
  • 夜中に前日までのExcel売上ファイルを全て会計システム用に変換する
  • 早朝に、前日更新されたファイルのみバックアップする
  • 夜間にクラウドデータベースのバックアップを行う
  • 一時間おきに基幹システムに接続し、在庫の最新情報を取得する

当社では、早朝のファイル・クラウドデータベースのバックアップ(専用ツールを使います)とともに、クラウドサービスの能力切替(夜間は性能をセーブして、課金を押さえる)を行っています。

ちょっとしたアイデア次第で、もっといろいろなことができそうです。

 

「RPA導入を考えていたが、Excelでもできそうでは?」と考えているようでしたら、一度Excelだけでどこまでできるか、ご相談下さい。匿名歓迎です!