|
▼Kein さん:
返事ありがとうございます。
おぉ急に難しくなりましたね。
ちょっと理解不能状態ですときに
早速時間を変えて試したのですが"7秒後に自動的に消える"
が消えません。どうしてなんでしょうか。
約2分待ちましたが消えません。
いかがでしょうか・・・・・
ちなみに下記で実行しました。
Sub Auto_Open()
Dim MyR As Range
Set MyR = Worksheets(1).Range("IV1:IV4")
With Application
If .Count(MyR) > 0 Then GoTo ELine
If IsEmpty(MyR.Cells(1)) And _
Time < TimeValue("10:00:00") Then
.OnTime TimeValue("10:00:00"), "MyScd"
MyR.Cells(1).Value = "10:01:00"
End If
If IsEmpty(MyR.Cells(2)) And _
Time < TimeValue("11:55:00") Then
.OnTime TimeValue("11:55:00"), "MyScd"
MyR.Cells(2).Value = "11:56:00"
End If
If IsEmpty(MyR.Cells(3)) And _
Time < TimeValue("15:00:00") Then
.OnTime TimeValue("15:00:00"), "MyScd"
MyR.Cells(3).Value = "15:01:00"
End If
If IsEmpty(MyR.Cells(4)) And _
Time < TimeValue("16:25:00") Then
.OnTime TimeValue("16:25:00"), "MyScd"
MyR.Cells(4).Value = "16:26:00"
End If
End With
ELine:
Set MyR = Nothing
End Sub
Sub MyScd()
Dim WshShell As Object
Set WshShell = CreateObject("WScript.Shell")
With Worksheets(1)
If Time < .Range("IV1").Value Then
WshShell.Popup "休憩時間ですよ", 7, , 64
.Range("IV1").Clear
ElseIf Time < .Range("IV2").Value Then
WshShell.Popup "そろそろ昼食の時間です", 7, , 64
.Range("IV2").Clear
ElseIf Time < .Range("IV3").Value Then
WshShell.Popup "お茶の時間ですよ", 7, , 64
.Range("IV3").Clear
ElseIf Time < .Range("IV4").Value Then
WshShell.Popup "終了時間ですよ", 7, , 64
.Range("IV4").Clear
End If
End With
Set WshShell = Nothing
End Sub
>ブックを起動したとき、スケジュールを重複設定しないためと、
>処理時間をチェックするためのフラグを、先頭シートのIV1:IV3セル
>に入力します。また、エクセルのMsgBoxではいちいちボタンを押すか
>Enterキーを押さないと消えないので、万が一消し忘れても大丈夫
>なように、WSHのPopUpメソッドを使って"7秒後に自動的に消える"
>タイマー付きメッセージにしてみました。(表示時間は、Popupメソッドの
>第二引数で設定します。ただし、あまり正確ではないようです。)
>
>Sub Auto_Open()
> Dim MyR As Range
>
> Set MyR = Worksheets(1).Range("IV1:IV3")
> With Application
> If .Count(MyR) > 0 Then GoTo ELine
> If IsEmpty(MyR.Cells(1)) And _
> Time < TimeValue("10:00:00") Then
> .OnTime TimeValue("10:00:00"), "MyScd"
> MyR.Cells(1).Value = "10:01:00"
> End If
> If IsEmpty(MyR.Cells(2)) And _
> Time < TimeValue("11:55:00") Then
> .OnTime TimeValue("11:55:00"), "MyScd"
> MyR.Cells(2).Value = "11:56:00"
> End If
> If IsEmpty(MyR.Cells(3)) And _
> Time < TimeValue("15:00:00") Then
> .OnTime TimeValue("15:00:00"), "MyScd"
> MyR.Cells(3).Value = "15:01:00"
> End If
> End With
>ELine:
> Set MyR = Nothing
>End Sub
>
>Sub MyScd()
> Dim WshShell As Object
>
> Set WshShell = CreateObject("WScript.Shell")
> With Worksheets(1)
> If Time < .Range("IV1").Value Then
> WshShell.Popup "休憩時間ですよ", 7, , 64
> .Range("IV1").Clear
> ElseIf Time < .Range("IV2").Value Then
> WshShell.Popup "そろそろ昼食の時間です", 7, , 64
> .Range("IV2").Clear
> ElseIf Time < .Range("IV3").Value Then
> WshShell.Popup "お茶の時間ですよ", 7, , 64
> .Range("IV3").Clear
> End If
> End With
> Set WshShell = Nothing
>End Sub
|
|