[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『指定時間に開いているブック全保存』(としまる)
いつも大変お世話になります。 以下のVBAに関し、AM10時30、PM12:30、PM3:00に自動実行したいのですが、 どのように修正したらよろしいでしょうか? ご指導お願いいたします。
内容 EXCELが立ち上がって一つ以上のBookが立ち上がっている際のみ、 以下のVBAを自動実行(上書き保存)したい。 自動実行の時間帯はAM10時30、PM12:30、PM3:00とする。 また、自動実行以外に任意でVBAを実行すると、開いているBookが全て保存される。
Sub 開いているブック全保存() For Each w In Application.Workbooks w.Save Next w MsgBox "全保存終了しました。" End Sub
宜しくお願いいたします。
ちょっと考えすぎてましたので、直前の投稿は削除しました。 Ontimeメソッドを使うと可能です。
Sub set_sch() Dim tt As Variant For Each tt In Array(TimeValue("10:30:00"), _ TimeValue("12:30:00"), _ TimeValue("15:00:00")) Application.OnTime tt, "開いているブック全保存" Next end sub 実際には、時刻を変えて試してみてください。
最終的なVBAは以下の通りとなるみたいですが、
Sub 開いているブック全保存()
For Each w In Application.Workbooks w.Save Next w MsgBox "全保存終了しました。" End Sub
Sub set_sch() Dim tt As Variant For Each tt In Array(TimeValue("09:03:00"), _ TimeValue("12:30:00"), _ TimeValue("15:00:00")) Application.OnTime tt, "開いているブック全保存" Next End Sub
これだと、都度、フォームボタン等を専用でつくり、 Sub set_schのVBAを実行しないとタイマー実行が実行されないみたいですが、 EXCELを起動すれば自動的にタイマー実行のみ実行が可能なVBAに修正希望です。 尚、自動実行以外に任意でVBAを実行すると、開いているBookが全て保存される、条件はそのままです。
宜しくお願いいたします。
(としまる)20090428 9:10
こんにちは。かみちゃん です。
横から失礼します。
> 上記をコメントしていただいた方への質問です。
上記のコメントをした者ではありませんが、 Thisworkbook モジュールに
Private Sub Workbook_Open() Call 開いているブック全保存 End Sub
とするか、 標準モジュールに Sub Auto_Open() Call 開いているブック全保存 End Sub とすることでできると思います。
以下も参照されるといいかと思います。 「ブックが開いたとき自動で」 http://www.excel.studio-kazu.jp/mag2/backnumber/mm20040817.html
(かみちゃん) 2009-04-28 9:23
(としまる)20090428 12:30
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.