- ベストアンサー
毎日指定時刻に前日の内容をコピーする
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
『毎日指定時刻になったらマクロを動かす』のには Windows のタスクスケジューラを使います。 http://www.siminpc-kitakyushu.com/index.php?QBlog-20141029-1
その他の回答 (2)
- WindFaller
- ベストアンサー率57% (465/803)
こんにちは。 >できればVBAコードを入力して自動実行したいのですが。 ふつうは、タスクスケジューラーで、オートメーションにして組みますが、そうでなければ、OnTimeメソッドを利用します。ただ、Excelは開きっぱなしになりますが、できないわけではありません。 しかし、私自身などは、手動でタスクスケジューラーを設定しますが、コマンドプロンプトのATコマンドを使うことも可能です。その時に、現在開いているExcelとぶつからないために、Excelとは別にオートメーションにして、立ち上げた時に、マクロ(モジュール)を呼ぶようにしてます。標準モジュールが分離してしまうはずですから、ThisWorksheetなどのオブジェクトモジュールにするか、コードを呼び出しするか、どちらかに作ります。 ですから、バッチよりも、VBScriptなどで、立ち上げ自体はプログラムをくんだほうが安全です。 手数は複雑に見えますが、わかっている人なら、意外に簡単に出来てしまいます。 問題点は、ほとんどありませんが、土日や祭日は動かないようにすることも必要です。(パソコンが動いている限りですが。) スケジュール(タスク)を登録する http://officetanaka.net/other/extra/tips14.htm なお、文末の田中氏の疑問は、Userと管理者モードの違いだと思います。実行ファイルは、Excelファイル直接ではなく、VBScriptで組んでしまえば、まったく問題は出ません。
お礼
ありがとうございます。
回答No.1です。 > できればVBAコードを入力して自動実行したいのですが。 VBA コードだけでやりたいという話であれば簡単です。 VBA にはタイマー機能はありませんので『できません』。 タイマー機能は VBA 以外で対応する必要があります。
お礼
ご教授ありがとうございました。
補足
できればVBAコードを入力して自動実行したいのですが。