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