電子書籍の厳選無料作品が豊富!

タスクスケジューラについてお聞きします。
毎日決まった時間にパソコンで翌日、翌々日の作業を行っています。
時間になるとタスクスケジューラが起動して、別に作成したVBSに書いてある、
翌日の作業開始してください! とコメントが出て、クリックするとWEBの画面が
立ち上がるようにしています。
できれば、today関数との組み合わせとかで、”翌日 2/8の作業開始してください!”と
言うふうに表示ができないでしょうか。
翌日、翌々日、3日後のコメント表示も必要になってきたので、
正確な日付を表示したくて。
VBSはあまり詳しくないので、よろしくお願いします。

 今使っているVBSの内容です。

Dim Args
Set Args = WScript.Arguments
If Args.Count = 0 Then
Msgbox "翌日の作業開始してください!",vbOkOnly + vbSystemModal,"タスクスケジューラより"
else
MsgBox Args(0),vbOkOnly + vbSystemModal,"タスクスケジューラより"
'vbApplicationModal では不可、
'vbSystemModal では最前面メッセージになりつつもバックグラウンドアプリの操作OK
End If

A 回答 (2件)

こんにちは。



このようにすれば、良いはずです。

'//
Dim Args, d, myDate, w, msg1, msg2, msg3
Set Args = WScript.Arguments
If Args.Count =0 Then
'今日
myDate = Month(Date) & "/" & Day(Date)
msg1 = "今日" & myDate
'明日
myDate = Month(Date+1) & "/" & Day(Date+1)
msg2 = "明日" & myDate
'明後日
myDate = Month(Date+2) & "/" & Day(Date+2)
msg3 = "明日" & myDate
MsgBox msg1 &"、" &msg2 &"、"& msg3&"の作業をお願いします。",vbOkOnly + vbSystemModal,"タスクスケジューラより"
ElseIf IsNumeric(Args(0)) Then
d = Args(0)
If d >0 Then
w = WeekdayName(Weekday(Date+d))
myDate = Month(Date+d) & "/" & Day(Date+d) & "(" & w & ")"
MsgBox Args(0) & "日後の" & myDate & " に作業開始" ,vbOkOnly + vbSystemModal,"タスクスケジューラより"
End If
Else
MsgBox "Error: Argument",vbCritical + vbSystemModal,"タスクスケジューラより"
End If
    • good
    • 0
この回答へのお礼

できました!
無理かと思ってたので、感動です!
いろいろ教えていただきまして、ありがとうございました。

お礼日時:2019/02/11 11:49

ちょっと手を加えてみました。

VBScript のバージョンで変わるかもしれません。
(全角スペースは入れないでくださいね)

'//
Dim Args, d, myDate, w
Set Args = WScript.Arguments
If Args.Count =0 Then
myDate = Month(Date +1) & "/" & Day(Date +1)
w = WeekdayName(Weekday(Date + 1))
myDate = myDate & "(" & w & ")"
MsgBox "翌日の"& myDate &"作業開始してください!",vbOkOnly + vbSystemModal,"タスクスケジューラより"
ElseIf IsNumeric(Args(0)) Then
d = Args(0)
If d >0 Then
w = WeekdayName(Weekday(Date+d))
myDate = Month(Date+d) & "/" & Day(Date+d) & "(" & w & ")"
MsgBox Args(0) & "日後の" & myDate & " に作業開始" ,vbOkOnly + vbSystemModal,"タスクスケジューラより"
End If
Else
MsgBox "Error: Argument",vbCritical + vbSystemModal,"タスクスケジューラより"
End If
'//
    • good
    • 0
この回答へのお礼

ご指南いただきまして、ありがとうございます。
表示できるようになりました!
あとひとつ教えていただきたいのですが、
ひとつのシートで今日、明日、明後日を表記
(例:今日2/8と明後日2/9の作業をお願いします!)するとした場合、

If Args.Count =0 Then
myDate = Month(Date +1) & "/" & Day(Date +1)
w = WeekdayName(Weekday(Date + 1))
myDate = myDate & "(" & w & ")"

を追加して+1を変えると使えるのでしょうか。
重ね重ね申し訳ないですが、教えていただけないでしょうか。
よろしくお願い申し上げます。

お礼日時:2019/02/08 19:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!