【VBA】시간을 지정해 PC의 셧다운을 실행한다
이번에는 A1 셀에 시간을 입력하고
종료 타이머 버튼으로 매크로를 실행합니다.
버튼을 누르면 "타이머를 설정했습니다"라는 메시지가 나옵니다.
지정된 시간이 오면
"pc_shutdown"
가 실행됩니다.Sub btnTimer()
MsgBox "タイマーをセットしました"
Dim ShutDownTime As String 'タイマー時刻格納用変数
'A1に入力された時間を変数に格納
ShutDownTime = Format(TimerSheet.Range("A1").Value, "hh:mm:ss")
'シャットダウン処理を呼び出し
Application.OnTime TimeValue(ShutDownTime), "pc_shutdown"
End Sub
Sub pc_shutdown()
ThisWorkbook.Save
Dim objsystem As Object'オブジェクト格納用変数
Set objsystem = CreateObject("WScript.Shell")
'ログオフするの場合は以下にする
'objsystem.Run "logoff", 0, False
'シャットダウンの場合は以下にする
objsystem.Run "shutdown -s", 0, False
ThisWorkbook.Close
Application.Quit
End Sub
【실행 결과】시간이 오면 종료됩니다.
【셧다운인가, 사인 아웃인가? 】
셧다운
objsystem.Run "shutdown -s", 0, False
로그아웃objsystem.Run "logoff", 0, False
전원을 끄고 싶을 때는 셧다운입니다.최근 와타시는 풀 리모트 근무 때문에 PC는 셧다운이 아니고 사인아웃으로 하지 않으면 안 되므로 업무로 사용하는 PC의 경우는 사인아웃쪽을 사용합니다.
【조금 더 어레인지가 필요】
이번 매크로는 일반적으로 업무에 필요하지 않은 매크로 일 수 있습니다.
이하의 경우는 어레인지가 필요하다고 생각합니다.
· 다른 응용 프로그램이 열려있는 경우
· 실행 5 분 전에 알림을 보내고 싶습니다.
· 경우에 따라 실행을 취소하고 싶습니다.
등
이번에는 시간 지정으로 실행하는 코드입니다.
와타시는 시간이 걸리는 매크로가 종료하면 셧다운도 실행되도록 하는 것도 좋을까~라고 생각합니다.
타이머 기능은 셧다운이 아니어도 여러가지 사용해 보고 싶습니다.
Reference
이 문제에 관하여(【VBA】시간을 지정해 PC의 셧다운을 실행한다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/KaoTechBlog/items/7906f79f0a24515ad7c0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)