スクリーンセーバーを起動しないよう、エクセルVBAから定期的にキーを送信する。
Option Explicit
Private Declare Sub Sleep Lib "kernel32" (ByVal ms As Long)
Public Sub TimerSendKeys()
'定期的にSCROLLLOCKキーを2回送信し、画面のスリープを抑止
'A1セルに任意の文字列を入力されたらループ処理を終了する
Dim iTime As Integer '秒数用カウンタ
Do
'キーの送信は5分おき(300秒おき)
For iTime = 1 To 300
'1秒スリープ
Sleep 1000
'画面更新
DoEvents
'終了リクエストを確認
If Trim(ActiveSheet.Cells(1, 1).Value) <> "" Then Exit Do
Next
'SCROLLLOCKキーを2回送信(無害そうなキー、設定と解除で2回)
Application.SendKeys ("{SCROLLLOCK 2}")
Loop
'終了リクエストをクリアして終了
ActiveSheet.Cells(1, 1).Value = ""
End Sub