【Word VBA】タイマーを設定するWordマクロ

2008年8月31日


Option Explicit
Public intTime As String
Public varTime As Variant
Sub timer()

Dim Message As String
Dim Title As String
Dim Default As String

Message = "インターバル時間(1~60分)を入力してください"
Title = "タイマー時間の設定"
Default = 60

Do
  varTime = InputBox(Message, Title, Default)
  If varTime = "" Then End
  If varTime >= 1 And varTime <= 60 Then Exit Do
Loop

If varTime < 10 Then
  intTime = "00:0" & varTime & ":00"
Else: intTime = "00:" & varTime & ":00"
End If

Application.OnTime When:=Now + TimeValue(intTime), _
  Name:="alert"

End Sub

Sub alert()

Dim intMB As Integer

intMB = MsgBox(varTime & "分が経過しました。" & vbCr _
      & "タイマーを続けますか?", vbYesNo + vbExclamation)

If intMB = vbNo Then
  End
Else: Application.OnTime When:=Now + TimeValue(intTime) _
  , Name:="alert"
End If

End Sub

-コード
-