- ベストアンサー
VBscriptで日付を数字8桁に設定する方法
VBscript初心者です。 OCRの読取ソフトにvbscriptを入力しているのですが、 2021年3月3日を20210303に変換したいのですが 以下のスクリプトで設定しても変換できませんでした。 Dim yyyy,mm,dd dd=Mid(Me.Text,8,2) mm=Mid(Me.Text,6,2) yyyy=Left (Me.Text,4) Me.Text=yyyy+mm +dd ご教示いただけますと幸いです。 宜しくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
小生は、Excel環境下で、ファイルの扱いでVBScriptは使う場合があるが、そうでない場合は、小生は素人です。 もしよい回答が出れば、そちらを使ってください。 ーー メモ帳に (日付リテラルで日付を指定する場合は) wscript.echo "hallow Joe" Dim strDate 'strDateに本日日付が yyyy/mm/dd 形式でセットされます。 aDate =cdate(#1953/5/6#) msgbox adate msgbox mid(adate,6,2) msgbox year(adate) msgbox month(adate) msgbox day(adate) msgbox year(adate)& month(adate) & day(adate) 'msgbox year(adate)& format(val(month(adate)),0,0,0) & format(val(day(adate)),-1,0,0,0) msgbox "M" & len(month(strdate)) resultm = mid("00",1,2-Len(month(adate))) & month(adate) msgbox "D" & len(day(adate)) resultd = mid("00",1,2-Len(day(adate))) & day(adate) msgbox resultd msgbox year(adate) & resultm & resultd 'strDateに現在の時刻が hh:mm 形式でセットされます。 strDate = FormatDateTime(Now, 4) msgbox strdate と入れて、VBS2.vbsで保存(DeskTopに保存。名前はなんでもよいのはご存じの通り。 デスクトップのそのアイコンを、ダブルクリック。順次Msgboxが出ますから、その内容を確認してみてください。 そして必要な行だけ、質問者のコードの中に、取り入れてみてください。 質問者の利用環境がわかりませんので。 今日の日付でやる場合は、 wscript.echo "hallow Joe" Dim strDate 'strDateに本日日付が yyyy/mm/dd 形式でセットされます。 strDate = FormatDateTime(Now, 1) msgbox strdate msgbox mid(strdate,6,2) msgbox year(strdate) msgbox month(strdate) msgbox day(strdate) msgbox year(strdate)& month(strdate) & day(strdate) 'msgbox year(strdate)& format(val(month(strdate)),0,0,0) & format(val(day(strdate)),-1,0,0,0) msgbox "M" & len(month(strdate)) resultm = mid("00",1,2-Len(month(strdate))) & month(strdate) msgbox "D" & len(day(strdate)) resultd = mid("00",1,2-Len(day(strdate))) & day(strdate) msgbox resultd msgbox year(strdate) & resultm & resultd 'strDateに現在の時刻が hh:mm 形式でセットされます。 strDate = FormatDateTime(Now, 4) msgbox strdate ーーー Excelなら Sub test02() dt = #5/6/2020# mt = Format(dt, "mm") MsgBox mt MsgBox Format(dt, "yyyy") & Format(dt, "mm") & Format(dt, "dd") End Sub などで済むところを、Format関数がVBSでは違うようなので、複雑になっている。
お礼
詳細なご説明ありがとうございました! おかげさまで解決しました。 貴重なお時間いただきありがとうございました。大変勉強になりました!