| 
    
     |  | ▼SS さん: 
 どうもありがとうございます。
 SSさんが御作りなられたマクロは、不完全です。
 エクセルを閉じる実行マクロが入っておりません。
 
 ご協力ありがとうございました。
 
 >▼初心者 さん:
 >
 >こんにちは、興味があったのでこんなの組んでみました。
 >Excelを閉じる時にSetTimerEndを実行します。
 >要求内容満たしていますか?試してみて下さい。
 >
 >Option Explicit
 >
 >Public TimeS As Variant
 >
 >Sub SetTimerStart()
 >  TimeS = Now + TimeValue("00:00:05")
 >  Application.OnTime TimeS, "closeme"
 >End Sub
 >
 >Sub SetTimerEnd()
 >  Application.OnTime EarliestTime:=TimeS, _
 >    Procedure:="closeme", Schedule:=False
 >End Sub
 >
 >Sub closeme()
 >  MsgBox "Now"
 >End Sub
 >
 >
 >>エクセルを開いてから5分後にエクセルを終了させるマクロを作成しました。
 >>5分後に強制(自動保存あり)で閉じることは可能になったんですが・・・
 >>
 >>5分以内にエクセルを閉じる(手動で)と、アプリケーションが内部で動いているため、マクロが起動します(5分後にマクロが開き、閉じるアクションをするため)
 >>
 >>ここまでは分かっているのですが、具体的対策ができません。
 >>下記に私が書いたVBAを貼り付けます。
 >>
 >>お知恵をお貸し頂けないでしょうか。お願いします。
 >>
 >>
 >>〜ThisWorkbook〜
 >>
 >>Private Sub Workbook_Open()
 >> Operated = False
 >> SetTimer
 >>End Sub
 >>
 >>Public Operated As Boolean
 >>
 >>
 >>Sub SetTimer()
 >> Application.OnTime Now + TimeValue("00:05:00"), "closeme"
 >>End Sub
 >>
 >>
 >>〜Module1〜
 >>
 >>Sub CloseMe()
 >>
 >> ActiveWorkbook.Save
 >> Workbooks("○○○.xls").Saved = True
 >>
 >>
 >> Workbooks("○○○.xls").Close False
 >>
 >>End Sub
 >>
 >>Private Sub Workbook_BeforeClose(Cancel As Boolean)
 >>  ’エクセルを閉じる前の処理
 >>
 >> Application.OnTime Now, SetTimer, schedule:=False
 >>
 >>
 >>End Sub
 
 |  |