2013-07-09 4 views
0

Я хотел бы запустить макрос непосредственно перед Windows shutsdown, чтобы зарегистрировать время. Я написал ниже программу для запуска макроса сразу после запуска windows. Я поместил shortcut в папку Windows startup, чтобы при запуске окон он будет log текущего дня и даты.Как запустить макрос перед выключением Windows

Но как запустить макрос непосредственно перед выключением ПК. Тот же код ниже будет работать для Start up и shut down с little change. Но как запустить macro or code перед windows turns off

Private Sub Workbook_Open() 
' 
' Macro1 Macro 
' 
Dim Day As Date 
Dim Tim As Date 
Dim Row As Integer 
Dim Col As Integer 
Row = 1 
Col = 1 

Day = DateValue(Now) 
Tim = TimeValue(Now) 
While (Cells(Row, Col) <> "") 
Row = Row + 1 
Wend 
Cells(Row, Col) = Day 
Cells(Row, Col + 1) = Tim 

ThisWorkbook.Save 

' 
End Sub 
+1

Посмотрите на этот ответ http://stackoverflow.com/questions/101647/how-to-schedule-a-task-to-run-when-shutting-down-windows – kamjagin

ответ

3

Если вы поместите что-то в папке автозагрузки, он не будет действительно работать при запуске, но при входе пользователя.

Чтобы запустить что-то при запуске или завершении работы, вам необходимо внедрить сценарии запуска или завершения работы с помощью групповой политики. В поле «Тип» введите «gpedit.msc», чтобы изучить групповую политику.

Другое решение - системный журнал событий, события из источника «eventlog» регистрируют всю активность запуска и останова.

+0

+1 для вас. но посмотрите на предоставленное решение (код) для ведения журнала. вы действительно думаете, что он знает, что такое групповая политика или системный журнал событий? он запускает лист excel для регистрации событий lol –

+0

Возможно, нет ;-)) Но сделать отрывок из системного журнала событий просто для того, чтобы захватить остановки и стартапы, должно быть довольно прямолинейным. –

Смежные вопросы