これまさにジンジニア系の仕事なんですけど、勤怠情報をDBからダウンロードし、CSVファイルを出力してサーバーに格納するという仕事がありました。

使えるDBが現状Accessしかなかったこともあり、Accessを使って自動実行の処理を構築しました。その備忘です!

 

自動実行の手順

1.Visual Basic Editerを起動する

ちょっとかじったことがある方向けの表現になってしまいましたが、Accessを起動して、「Alt + F11」を押下してください。

すると、以下のような画面が開かれます。この画面でプログラミングをしていくのですー。

 

2.標準モジュールを追加する

自動実行(自動実行)というのはファイル名です。(紛らわしくてすみません・・・)

ファイル名の上で右クリックし、「挿入」→「標準モジュール」をクリックします。

 

すると、以下のような画面なります。

これまでグレーだった部分に白い画面が表示されました。

 

3.Functionプロシージャを追加する

サンプルなので、非常に簡単なコードを記載します。

ここでは、「AutomaticExecution」がプロシージャ名になります。

 

これだけです!↓はテキストで記載します。

Function AutomaticExecution()
    MsgBox "自動実行されたよ!"
End Function

 

準備は完了です。保存してこの画面を閉じましょう。

 

4.マクロを作成する

さあ、メインの処理です。マクロの作成を行います。

リボンの中からマクロを選択しましょう。

 

選択すると、以下のプルダウンが表示されます。その中から「プロシージャの実行」を選びましょう。

 

 

プロシージャ、、、聞き覚えありますよね・・・!?

 

そう!この調子乗って英語で書いた「AutomaticExecution」です!

 

かっこについては引数の意ですので、一緒に付けて記載してください。

 

5.マクロに名前「AutoExec」を付ける

ここがかなり重要です!!

実はAccessではAutoExecというのが自動実行できるマクロ名なんです。

 

さて、設定はここまでです。次からは実行方法を見てみましょう!

 

実行方法

①まずはマクロ名をダブルクリックしてみる

このAutoExecをダブルクリックしてみましょう。

すると、以下のメッセージが表示されます。

 

単純に実行できたことの確認ですね!

 

②ファイル起動してみる

では、次にファイル名をダブルクリックします。

 

見事!メッセージボックスが表示されました!

①と実行結果は一緒ですね!

 

つまり、今メッセージボックスを表示させただけですが、ここにDBのテーブルからダウンロード処理とか入れたりすれば自動で処理が走らせることができますね!(非エンジニアでも全然できそうでしょう!)

 

ファイルをスケジューラ登録する

タスクスケジューラという機能がWindowsにはあります。

タスクスケジューラを利用して、自動実行を設定することが可能です。

やってることは別で紹介しているSkype立ち上げの処理と同じですので、ここでの説明は割愛します。

 

アクセスファイルのパスは以下の「引数の追加」で追加します。ここだけ注意!

 

さいごに

この仕組みを使って、毎朝7時にCSVファイルを出力する仕組みを作りました。

ぜひ真似してみてください!!

 

というか、この説明をするためにAccessを購入しましたー。これからAccessの備忘もたくさん書くぞ!!