VBSを使用して、日付の妥当性チェックを行いたいと思っています。
文字列の日付(yyyymmdd)が日付として正しいかチェックを行います。
○試したこと
①isDate関数を試しましたが、日付と認識されず常に「False」で返却されます。
②「yyyy」「mm」「dd」でスプリットし、「/」を結合、その後isDate関数を使用しました。動作しますが、「mm」や「dd」を1桁で入れられた場合が危険に感じます。
○質問
②より良い方法はないのでしょうか?
日付の入力はInputBoxを予定しています。
また「yyyy/mm/dd」の入力への仕様変更はできないです。
○ソースコード
Dim inDate inDate = InputBox("日付の入力(yyyymmdd)") If IsNull(inDate) or inDate= "" Then MsgBox "未入力です。" Wscript.Quit End If '①isDate関数 'If IsDate(inDate) = False Then ' MsgBox "未入力です。" ' Wscript.Quit 'End If '②スプリット・isDate関数 Dim yyyy Dim mm Dim dd Dim checkDate yyyy = Mid(inDate,1,4) mm = Mid(inDate,5,2) dd = Mid(inDate,7,2) checkDate = yyyy &"/" & mm &"/" & dd If IsDate(checkDate) = False Then MsgBox "日付が正しくありません。" Wscript.Quit End If

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2022/06/30 04:42
2022/06/30 05:29
退会済みユーザー
2022/06/30 05:53