ある日時になったら必ずする作業があったとします。月末の締めの作業とか。
面倒なので、その時間になったらExcelを開いてボタンを一回クリックするだけでその処理が全部自動で終わるという仕組みを作ったとします。
それだけでとても効率化されていると思うのですが、それだけでは絶対に乗り越えられない欠点があります。
もしもその作業を忘れたら。
最悪、次にその作業をするのは月末の更に1か月後。
それまで、実質2か月空きが出てしまいます。
もしも、人間が意識しなくてもその日時になったら自動でそういう処理するものが動いてくれたらいいと思いませんか?
作業し忘れがなくなります。
そんな時に使えるWindowsのタスクスケジューラを使ってちょっと面白いものを作ってみたいなと思います。
タスクスケジューラで動くもの
タスクスケジューラは、日時を設定しておき、その時間になったら指定したプログラムを起動するというものです。
そのためにはプログラムを用意しなければならないのですが、プログラムは意外と簡単に作れます。
メモ帳で次の内容を、TEST.BATというファイル名で保存します。
set U1=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2% echo %U1% >> D:\test2.txt |
これだけで、text01.txtというファイルに現在日時をどんどん描き込むプログラムになりました。
これはバッチファイルという自動的に何かの操作するコマンドをまとめたものです。
また、いわゆるプログラムではなく、何かのアプリケーションデータで作ったものも、タスクスケジューラではプログラムとして認識します。
Cドライブの中にauto.xlsmという、Excelマクロブックを作っておいたら、C:\suto.xlsmと指定すればそのマクロが起動しますし、そのマクロブックに起動時のイベントで動くマクロを設定しておいたらそのマクロが動きます。
タスクスケジューラの使い方
タスクスケジューラの起動方法は、コルタナに「タスク」と入力すれば、タスクのスケジュールが表示されるので、これです。
Windows8はコントロールパネルの管理ツールの中に、タスクスケジューラがあります。
これで起動すると次のような画面が出てきます。
とりあえず何かを動かしたいときは、タスクの作成をダブルクリックしましょう。
それで出てきた画面の全般タブに、入力していきます。
名前は絶対に何か入れます。これが動作名になります。
説明は入れなくても動作はします。
それから、多分、バッチファイルは最上級の特権がないと庶民(?)では動かせないかもしれないので、最上級の特権で動くようにします。
トリガータブの新規をクリックすると次のような画面になります。
タスクの開始をスケジュールに従うにすると、その下の設定に従うようです。このタスクの開始は、パソコンが立ち上がったらとか、ログインしたらとかでも開始のタイミングにすることができそうです。起動するたびにゴミ箱を空にするとかもできそう。
以下の設定は毎日、繰り返しが1時間ごとに、継続時間が1日中、この設定を有効にするという設定です。
停止するまでの時間が何日間とかも設定できます。月初の3日だけ実行するとかもできますね。
そのほかにも有効期限を設定することができるので、今年中だけでいいやなんてタスクの設定もできるようです。
早く動作を確認したいときは繰り返し間隔を5分にするといいでしょう。
操作タブをクリックするとこのような画面が出てくるので、参照ボタンを押して、バッチファイルやExcelのマクロファイルなどを設定します。
これで設定は完了です。
あとは、実際に動くところを確認しましょう。
もう設定したタスクはいらない
設定したタスクはもう実行しなくていいタイミングが来たら、削除か無効化しましょう。
始めの画面のタスクスケジューラライブラリをクリックすると一覧が表示されるので、そこで、無効にしたりや削除したりができます。変更もできます。
いつか実行しそうなタスクは無効しておけば、いつでも有効化できます。とはいっても何年も先なら、設定はエスクポートできるみたいなので、エクスポートして削除した方がいいでしょうね。
コメント