5分以内にブックを自動的に閉じることができるマクロを作成しようとしていますが、4分30秒でポップアップ通知メッセージが表示されます。ユーザーが[OK]ボタンをクリックしないと、メッセージボックスが10秒後に自動的に閉じられます。私は、メッセージボックスが10秒以内に閉じることができない時点で立ち往生しています。私のコードのほとんどはインターネットからコピーされています。以下は私のコードです:ブックのページで自動閉じる閉じるポップアップメッセージを含むワークブック
:モジュールで
Private Sub workbook_open()
Call settimer
End Sub
Private Sub workbook_beforeclose(cancel As Boolean)
Call stoptimer
End Sub
Private Sub workbook_sheetcalculate(ByVal sh As Object)
Call stoptimer
Call settimer
End Sub
Private Sub workbook_sheetselectionchange(ByVal sh As Object, _
ByVal target As Excel.Range)
Call stoptimer
Call settimer
End Sub
Dim downtime As Date
Sub settimer()
downtime = Now + TimeValue("00:01:00")
alerttime = downtime - TimeValue("00:00:50")
Application.OnTime Earliesttime:=alerttime, _
procedure:="alertuser", schedule:=True
Application.OnTime Earliesttime:=Downtime, _
procedure:="shutdown", schedule:=True
End Sub
Sub stoptimer()
On Error Resume Next
Application.OnTime Earliesttime:=downtime, _
procedure:="shutdown", schedule:=False
End Sub
Sub shutdown()
Application.DisplayAlerts = True
With ThisWorkbook
.Save = True
.Close
End With
End Sub
Sub alertuser()
Dim wsshell
Dim intText As Integer
Set wsshell = CreateObject("WScript.Shell")
intText = wsshell.Popup("log sheet will be closed in 30 seconds if there are no more inputs", 10, "reminder")
Set wsshell = Nothing
End Sub
zack.loreありがとうございました。しかし、上記のコードをコピーすると、Excelは次のメッセージ の問題に実行されます "C:\ user \ adminstrator \ desktop \ autocloseworkbook.xlsm 'thisworkbook.alertuser"、schedule:= true'マクロを実行できません。マクロがブックで利用できないか、すべてのマクロが無効になる可能性があります。 私はこれらの点についていくつか指摘していただけますか? – chasterfool
コピー/ペーストエラーであるかどうかわかりませんが、ファイルの場所に一重引用符があります。 C:¥user¥adminstrator¥desktop¥autocloseworkbook.xlsm!ThisWorkbook.alertuser また、マクロをワークブックではなくシートに配置している場合は、シート名を修飾するためにそのマクロを調整する必要があります –
助けてくれてありがとう.iマクロがうまく動くよ – chasterfool