[[20180226115539]] 『PCを閉じた状態で指定時間になったらエクセルマ』(さゆり) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『PCを閉じた状態で指定時間になったらエクセルマクロ(OnTime)を実行したい』(さゆり)

お世話になります。
PCを閉じた状態で指定時間になったらエクセルマクロ(OnTime)を実行したいのですができません。どうしたらパソコンを閉じた状態でマクロを実行させることができますか。

PCの電源設定(ディスプレイの電源を切るなど)は、すべて「なし」に
しています。スクリーンセーバーもなしです。
ご教授よろしくお願いします。

< 使用 Excel:Excel2013、使用 OS:Windows7 >


 PCを閉じた状態って、どういう状態なんですか?

 ノートパソコンの電源を切って蓋を閉めた、と言うこと?

(半平太) 2018/02/26(月) 13:35


PCを閉じた状態とは、電源をつけたまま蓋を閉めました。
指定時間になったらエクセルマクロ(OnTime)を実行したいのですが可能ですか。
(さゆり) 2018/02/27(火) 08:32

 PCがスリープモードに入ってないですか?
 機種によるかもしれませんが、 電源オプションから、
「カバーを閉じたときの動作の選択」で「何もしない」と
 なっているでしょうか。
(ろっくん) 2018/02/27(火) 09:04

PCがスリープモードに入ってないですか?

コンピュータをスリープ状態にする→「なし」に設定済み。
ディスプレイを暗くする→「なし」
ディスプレイの電源を切る→「なし」

>カバーを閉じたときの動作の選択」で「何もしない」と

カバーを閉じたときの動作→「何もしない」
電源ボタンを押したときの動作→「何もしない」

以上の設定にっしています。
よろしくお願いします。
(さゆり) 2018/02/27(火) 14:35


1.エクセルファイルは開いている状態ですか? (タスクスケジューラなどで自動で開くなどの処理が必要か)
2.そのマクロは実行済みの状態ですか?(1と連動してWorkbook_Openなどの処理が必要かどうか
3.パソコンを開いてる状態では動いているか?

OnTimeが指定の時間に実行する処理だがOnTimeを指定の時間に実行したいとはどういうこと

(dd) 2018/02/27(火) 15:24


1・エクセルは、開いています。PCを開いていれば問題なく指定した時間に
動くのを確認しました。
2・実行済みです。
3・パソコンは開いています。
>OnTimeを指定の時間に実行したいとはどういうこと
毎日 新しいデータを読み込んで集計処理します。そのデータを朝 会議で使います。
(さゆり) 2018/02/28(水) 08:19

 ふたを閉めてもPCは動作はしているのですか?
 メーカー独自のハード又はソフトの設定により電源が切れていませんか?

(semm) 2018/02/28(水) 09:04


蓋を閉めていなければ,正常に動作する.
蓋を閉めていると,動作しない.→どうすればいいか?

という質問ですよね?

蓋開けておけば良いのでは?
(tatara) 2018/02/28(水) 11:28


開いたままだと動いたという事なので、日付間違えてた!、とかでなければ、マクロは正しい可能性大ですね。 そうなると、ハードの設定を疑うのですが、省電力関係は使わないように設定との事ですし、謎ですね。

OnTimeを使ったマクロを動かしておいて、PCを閉じて、朝になって開いてみたとき、どういう状態になっていますか? 閉じる前と同じように、Excelが表示されていますか? ロック画面が表示されていて、ログイン認証を求められませんか?
(windows updateが動作した、とかならログイン画面になるでしょう)

または、マクロの処理というのが他のブックを次々開いてデータを見る、とかなら、途中のブックを開いた状態で止まっている、なんて事はないでしょうか? この場合なら、PCを閉じることでSHIFTキーが押された状態になっているかも知れません。
(???) 2018/02/28(水) 16:26


念の為ですが、過去を指定してないですか?

(γ) 2018/02/28(水) 19:14


>OnTimeを使ったマクロを動かしておいて、PCを閉じて、朝になって開いてみたとき、どういう状態になっていますか
閉じる前と同じように、Excelが表示されています。処理は、実行されていません。

>または、マクロの処理というのが他のブックを次々開いてデータを見る
次々と開いて処理します。PCを開いていて、OnTimeを使って処理した場合は、正常に処理します。

>念の為ですが、過去を指定してないですか?
日付、時間の変更は、よくします。それでOnTimeが動くか試しています。

よろしくお願いします。
(みゆき) 2018/03/01(木) 09:47


OnTimeで1分ごとに現在時刻を追加記録するマクロとか、
セルの値を1ずつ増加させるマクロとかを実行して、
例えば10分後にPCを閉じて、さらに10分後に開いた時と、
PCを開いたまま実行した時とを比べてみて、
PCを閉じても実行は続いていますか?
(semm) 2018/03/01(木) 10:37

実行されていなかった、との事ですが、OnTimeが実行されていて途中で止まったのか、OnTime自体が指定時刻になっても動かなかったのかまだ判りません。 semmさんの案のようにすれば、これが切り分けられるかと思います。

また、消しゴム等を挟んで、バックライトは消えても、完全には閉じない状態にした場合はどうなるかも知りたいですね。これならSHIFTキーが押されないので、他ブックを開いたところで止まってしまうという症状だったのならば、直ることでしょう。
(???) 2018/03/01(木) 10:45


>実行されていなかった、との事ですが、OnTimeが実行されていて途中で止まったのか、OnTime自体が指定時>刻になっても動かなかったのかまだ判りません

OnTime自体が指定時刻になっても動きませんでした。

>しゴム等を挟んで、バックライトは消えても、完全には閉じない状態にした場合はどうなるかも知りたいですね
了解しました。試してみます。
皆様 いろいろ教えていただき有難うございます。今後ともよろしくお願いします。

(みゆき) 2018/03/01(木) 16:09


SHIFTキーが問題だった場合は、動いてから途中で止まるのですが、全く動かなかったとなると、消しゴム案は失敗しそうに思います。

別ブックに以下のマクロを仕込んでおいて(ブック保存した後に、ブックを開き直すと自動実行します)、一緒に開いておいてみてください。とりあえず、3分経ったらA1セルに"OK"と表示されますし、動き続けている限り、ステータスバーに日時表示しますので、止まったかどうか判断できるでしょう。

 [ThisWorkbook]
 Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Call sStop
 End Sub

 Private Sub Workbook_Open()
    Sheets(1).Range("A1") = ""
    dNext = Now
    dEnd = Now + TimeValue("00:03:00")  'ここは好きな時間を足してください
    Call sTimer
 End Sub

 [標準モジュール]
 Public dNext As Date
 Public dEnd As Date

 Public Sub sTimer()
    Application.StatusBar = Now
    dNext = dNext + TimeValue("00:00:10")
    If dEnd <= dNext Then
        If Sheets(1).Range("A1") = "" Then
            Sheets(1).Range("A1") = "OK"
        End If
    End If
    Application.OnTime dNext, "sTimer"
 End Sub

 Public Sub sStop()
    If dNext <> 0 Then
        Application.OnTime dNext, "sTimer", , False
        dNext = 0
        Application.StatusBar = ""
    End If
 End Sub
(???) 2018/03/01(木) 17:41

???さん回答有難うございます。
試してみます。

皆様 今までご教授有難うございます。
大変 勉強になりました。
今後ともよろしくお願いします。

(さゆり) 2018/03/05(月) 10:28


直接の回答ではありません。別案の提案です。

毎日提示に特定のマクロを実行したいということですよね。
このような場合は、タスクスケジューラ を使うのが常道じゃないかな。

タスクスケジューラ なら、スリープを解除して実行する、ログインしていなくても実行する、失敗したら時間をおいて再起動する、など細かい設定が可能です。
これなら、実行されていなくて慌てるということも少なくなるでしょう。

Workbook_Open に実行したいマクロを呼び出すようにしておいて、タスクスケジューラで指定時間にそのブックを開くように設定しておけばいいでしょう。
(hatena) 2018/03/05(月) 11:08


誤字修正

誤)
毎日提示に、

正)
毎日定時に、

(hatena) 2018/03/05(月) 16:29


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.