dポイントプレゼントキャンペーン実施中!

標準モジュールで
Sub 終了()
ActiveWorkbook.Close Savechanges:=True
End Sub

THIS WORKBOOKに
MsgBox ("10分後に自動的に保存して閉じます。")
Application.OnTime Now + TimeValue("00:10:00"), "終了"
End Sub
を閉じ忘れ防止の為にこのマクロ入れているのですが、エクセルを普通に閉じたあと、何故か10分後にこの閉じたエクセルを開こうとします。
特にこの構文自体は問題ないかと思いますが、原因として考えられるものはありますでしょうか?

質問者からの補足コメント

  • TimeValue("01:10:00"), "終了"⇒TimeValue("00:10:00"), "終了"
    の間違えです。

    すいません。。

    No.1の回答に寄せられた補足コメントです。 補足日時:2017/11/24 16:42

A 回答 (14件中11~14件)

以下のようにされたらどうなりますか?



--------------------------------------------------------------------------------
☆ 標準モジュールに
'・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
Option Explicit
Public 終了時間 As Date
'・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
Sub 終了()
ActiveWorkbook.Close Savechanges:=True
End Sub
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
☆ ThisWorkbook に
'・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnTime 終了時間, "終了", , False
End Sub
'・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
Private Sub Workbook_Open()
If ActiveWorkbook.ReadOnly Then
Exit Sub
Else
MsgBox ("閉じ忘れ防止の為、10分後に自動保存して閉じます。")
終了時間 = Now + TimeValue("00:10:00")
Application.OnTime 終了時間, "終了"
End If
End Sub
--------------------------------------------------------------------------------
    • good
    • 0
この回答へのお礼

ありがとうございます。試してみますが、追加になった部分はどのような意図での追加になるのでしょうか?VBA に詳しくなく申し訳ありません(_ _)

お礼日時:2017/11/24 18:05

No.2です。



残っていたらマクロが中断せず『閉じます』以降を継続しようとしているかと思ったのです。
けどタスクにないとなると。。。何だろ?

昔のバージョンならExcelブックを閉じるのとExcelのアプリケーションを終了させるので、
どちらが先がよいか?なんて検証をされてた方もいらっしゃいますしね。
・・・最近のバージョンは改善されたような感じみたいですが、うちのは古いので検証できませんでした。

Excelでお仕事:Application.Quitの誤解
http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub0 …
    • good
    • 0

Excelを普通に閉じた後でタスクマネージャーにExcel.EXEが残っているか否かは、既にチェック済みですよね?

    • good
    • 0
この回答へのお礼

めぐみんさん>

確認してみたのですが、特になさそうです。
ちなみに残っていたとしたら、原因として考えられるものは?
また解決方法はありますでしょうか??

お礼日時:2017/11/24 16:45

ちなみに「MsgBox ("10分後に自動的に保存して閉じます。

") …」は、ThisWorkbook のどのイベントに有るのでしょうか?
この回答への補足あり
    • good
    • 0
この回答へのお礼

GooUserラック様>
下記になります。

Private Sub Workbook_Open()
If ActiveWorkbook.ReadOnly Then
Exit Sub
Else
MsgBox ("閉じ忘れ防止の為、10分後に自動保存して閉じます。")
Application.OnTime Now + TimeValue("01:10:00"), "終了"
End If
End Sub

お礼日時:2017/11/24 16:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!