AccessVBA定期自動実行方法【バッチファイル vbsファイル タスクスケジューラ マクロ】
AccessVBAを定期自動実行したい人向けに書いています。
本記事の内容
AccessVBA(マクロ)のタスク実行を定期的に自動で実行したいと思っていませんか?
AccessVBAの定期自動実行方法を紹介します。
VBA定期自動実行方法
準備するもの
1.自動実行するAccessVBAファイル
当たり前ですが自動実行するファイルを用意します。
自動実行したい処理を1つのプロシージャにまとめておいてください。
vbsファイルで実行したいプロシージャ(proc)を実行します。
2.vbs(vbscript)ファイル
テキストエディタに以下のプログラム内容を記載して、拡張子を.vbsに変更して保存します。
- Dim WB_PATH
- Const PROC_NAME = "AccessVBAファイルの実行プロシージャ名"
- Dim accessApp
- Set accessApp = CreateObject("Access.Application")
- ACCESS_PATH = "実行AccessVBAファイルのファイルパス"
- With AccessApp
- .Visible = False
- .OpenCurrentDataBase(ACCESS_PATH)
- .Run PROC_NAME
- .DisplayAlerts = False
- End With
- accessApp.Quit
- set accessApp = nothing
2行目:AccessVBAファイルの実行プロシージャ名を設定する
7行目:実行するAccessVBAファイルのファイルパスを設定する
3.バッチ(bat)ファイル
batファイルもテキストエディタに以下のプログラム内容を記載して、拡張子を.batで保存します。
- echo off
- cscript [vbsファイルパス]
3行目でvbsファイルのファイルパスを指定します。
batファイルとvbsファイルを作成後、batファイルをダブルクリックししてvbaファイルが起動するか確認してください。
もし実行できない場合は文字化けしていないか確認してください。
batファイルとvbsファイルの文字コードを「ANSI」や「S-JIS」にして保存してください。
名前をつけて保存時に以下の画面で文字コードを変更できます。
タスクスケジューラ設定
タスクスケジューラから
の順に起動させます。
タスクスケジューラではbatファイルの起動設定を行います。
手順は以下のとおりです。
1.Windows検索バーでタスクスケジューラを入力して、タスクスケジューラアプリを起動する
2.操作タブのタスクの作成をクリックする
3.全般タブの名前(任意の名前)を入力し、
セキュリティオプションの「ユーザーがログオンしているかどうかにかかわらずに実行する」を選択して
「最上位の特権で実行する」にチェックを入れる
4.トリガータブをクリックして新規ボタンをクリックする
5.新しいトリガーウィンドウで起動タイイングを設定し、OKボタンを押す
6.操作タブをクリックして新規ボタンをクリックする
7.プログラム/スクリプトの参照ボタンを押して作成したbatファイルを選択し、OKボタンを押す
8.条件タブをクリックして電源の「コンピュータをAC電源で使用している場合のみタスクを開始する」のチェックを外し、OKボタンを押す
9.最後にタスクの作成ウィンドウのOKボタンを押し、パスワードを求められるのでWindowsログインIDのパスワードを入力する
ここまでの設定が完了しましたら、実際に実行してみてください。
もし、実行できないようであれば以下画面のユーザまたはグループの変更で管理者権限のアカウントに変更してみてください。
まとめ
AccessVBA(マクロ)の定期自動実行方法を紹介しました。
最後までご覧いただきありがとうございました。
「ExcelVBA定期自動実行方法【batファイル vbsファイル タスクスケジューラ】」
「【VBA】定期自動起動処理のエラー対応処理(処理結果メール送信)」
も紹介していますので、もしよろしければこちらも御覧ください。
最近のコメント