| 
    
     |  | BeforeCloseで、予約をキャンセルしようとしていると思われますが、 >Private Sub Workbook_BeforeClose(Cancel As Boolean)
 >  ’エクセルを閉じる前の処理
 > Application.OnTime Now, SetTimer, schedule:=False
 >
 >End Sub
 これでは、予約した時間やプロシージャを正確に指定していませんよ。
 
 いじるとすれば、
 ブックモジュールで、
 
 Private 予約した時間 As Date
 'これは、キャンセル用に予約した時間を正確に覚えておく為の変数
 
 >Sub SetTimer()
 > Application.OnTime Now + TimeValue("00:05:00"), "closeme"   ....×
 予約した時間 = Now + TimeValue("00:05:00")
 Application.OnTime 予約した時間, "closeme"
 >End Sub
 
 >Private Sub Workbook_BeforeClose(Cancel As Boolean)
 >  ’エクセルを閉じる前の処理
 >
 > Application.OnTime Now, SetTimer, schedule:=False    ....×
 >
 On Error Resume Next
 Application.OnTime 予約した時間, "closeme", , False
 名前付き引数なら
 Application.OnTime 予約した時間, "closeme", schedule:=False
 でもいいでしょう。
 >End Sub
 
 OnTimeメソッドのヘルプを確認してください。
 
 あと、CloseMeのプロシージャの方ですが、
 もし、自ブックを閉じるということなら、
 その3行は、
 Thisworkbook.Close True
 だけで、いいような気がします。
 
 
 |  |