| 
    
     |  | ▼初心者 さん: 
 こんにちは、興味があったのでこんなの組んでみました。
 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
 
 
 |  |