Вы можете просто заблокировать рабочую станцию
Declare Function LockWorkStation Lib "user32.dll" () As Long
Public Sub LockPC()
LockWorkStation
End Sub
Обновить Вы также можете выйти из системы, но имейте в виду, что все приложения закрыты и обычно ничего не сохраняется.
Option Explicit
Private Declare Function ExitWindowsEx Lib "User32" ( _
ByVal uFlags As Long, _
dwReserved As Long) As Long
Private Const EWX_FORCE = 4
Private Const EWX_LOGOFF = 0
Private Const EWX_REBOOT = 2
Private Const EWX_SHUTDOWN = 1
Private Const EWX_POWEROFF = 8
Sub Logoff()
Dim Retval As Long
Retval = ExitWindowsEx(EWX_LOGOFF, 0&)
If Retval = 0 Then MsgBox "Could not log off", vbOKOnly + vbInformation, "Logoff"
End Sub
Внимание Для 64-битного Excel необходимо адаптировать декларации API , посмотрите здесь .Часто вам нужно только добавить PtrSafe и заменить Long на LongLong