まず定時に実行したいマクロがあるエクセルのファイルを起動します。次に「開発」タブから「Visual Basic」をクリックします。
次に「ThisWorkbook」をダブルクリックします。
下の画像のように(General)のところをクリックし、Workbookを選択します。
そうすると、Workbook_Openプロシージャが自動的に作成されるので、それを次のように編集します。(起動したいマクロの名前が「Test」だとします。)
こうしておくことで、9時ちょうどに自動的にTestプロシージャが実行されます。このファイルは保存して閉じます。(ファイル名はBook1.xlsmだとします。)
次にこのファイル(Book1.xlsm)を8時30分に開くように、EasyTaskSchedulerで設定します。
EasyTaskSchedulerを起動します。(1回限りのタスクで説明します。)
かんたんモードで設定します。「ファイルを開く」にチェックが入っていることを確認し、「1回限り」をクリックします。
「タスクの名前」を入力します。(Testマクロ実行とします。)
開始日時を設定します。日付選択ボタンをクリックして日付を選択、時刻を8時30分とします。
「ファイルを開く」をクリックし、Book1.xlsmがあるフォルダを開いて、Book1.xlsmを選択し、「開く」をクリックします。
「タスクを設定する」をクリックします。
「設定内容の確認」ダイアログが出るので、「はい」をクリックして設定します。
このようにすると、指定した日付の8時30分にBook1.xlsmが起動し、9時にTestマクロが実行されます。
「1回限り」の設定はEasyTaskScheduler体験版でもご利用いただけます。EasyTaskSchedulerでは、毎日、毎週、毎月などの指定の日にちの決まった時刻に実行するように、より詳しい設定ができます。
EasyTaskSchedulerのダウンロードは下のリンクからどうぞ。↓
「タスクの作成(かんたんモード)」でPythonスクリプトを起動するタスク設定する場合は、あらかじめ拡張子.pyのファイルをPythonのexeファイルに関連付けする必要があります。これは「ファイルに既定のアプリを関連付けする方法」を参考に設定してください。
拡張子.pyのファイルをPythonのexeファイルに関連付けしたら、1「設定するタスク」で「ファイルを開く」にチェックを入れて、2「タスクの種類」を選択します。
「ファイルを開く」ボタンをクリックし、タスクを設定したいPythonファイルを開くか、またはPythonファイルの絶対パスをテキストボックスに直接入力してください。その他の設定は「タスクの作成(かんたんモード)」を参考にしてください。
Pythonスクリプトをvenvなどの仮想環境から起動するようにタスク設定する場合は、「タスクの作成(エキスパートモード)」を利用してください。「タスク」メニューから「タスクの作成(エキスパートモード)」を選択します。
タスクの種類を選択します。
「プログラムを開く」ボタンをクリックし、仮想環境の情報が格納されたフォルダを開き、その中の「Scripts」フォルダ内にあるpython.exeを指定します。例えば、「C:\abk\Python\my_files」フォルダ内に「myenv」という仮想環境を構築した場合は、「C:\abk\Python\my_files\myenv\Scripts\python.exe」を指定します。そして「ファイルを開いて引数に設定」ボタンをクリックし、拡張子.pyのタスクを設定したいPythonファイルを指定します。例えば、「C:\abk\Python\my_files\test.py」のようにします。その他の設定は「タスクの作成(エキスパートモード)」を参考にしてください。
「タスクの作成(かんたんモード)」でバッチファイルを起動するタスク設定する場合は、1「設定するタスク」で「アプリを開く」にチェックを入れて、2「タスクの種類」を選択します。
「アプリを開く」ボタンをクリックして、タスクを設定したいバッチファイル(拡張子.cmdまたは.bat)を開くか、バッチファイルの絶対パスをテキストボックスに直接入力してください。その他の設定は「タスクの作成(かんたんモード)」を参考にしてください。
バッチファイルを使わずにWindowsのコマンドを実行するタスク設定する場合は、「タスクの作成(エキスパートモード)」を利用してください。「タスク」メニューから「タスクの作成(エキスパートモード)」を選択します。
タスクの種類を選択します。
「プログラム」のテキストボックスに「cmd」と入力します。そして「引数」のテキストボックスに実行したいコマンドを入力します。例えば、「C:\abk\test1\test.txt」というファイルを「C:\abk」フォルダ内に移動したい場合は、「引数」のテキストボックスに「/c move "C:\abk\test1\test.txt" "C:\abk"」と入力します。その他の設定は「タスクの作成(エキスパートモード)」を参考にしてください。