重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

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

VB6を使っています。
取得した年月の一日の曜日を取得したいのですが
うまくできません。formatもなぜかエラー出るんです・・・
どなたか教えてください

Dim dtCurrent As Date
Dim y As Integer
Dim m As Integer
Dim j as string
Dim nWeek As Integer

j=DateTime.Date()
y = Mid(j, 1, 4)'年
m = Mid(j, 6, 2)'月

dtCurrent = Format(y&m&01, yyyy / mm / dd)
Week = Weekday(dtCurrent) - 1 '曜日取得

A 回答 (3件)

Dim dtCurrent


Dim y As Integer
Dim m As Integer
Dim j As String
Dim nWeek As Integer

j = DateTime.Date()
y = Mid(j, 1, 4) '年
m = Mid(j, 6, 2) '月

dtCurrent = y & "/" & m & "/01"
Week = Weekday(dtCurrent) - 1 '曜日取得

ではダメなんですか?
    • good
    • 0
この回答へのお礼

できました。ありがとうございます><

お礼日時:2006/11/08 17:45

>'==========絶対ここは文字列として捕えることなく、年や月を得るもっと綺麗な書き方があるはず。

=========

 こんなのとか

Dim dtmToday As Date
Dim dtmFirst As Date
Dim nWeek As Integer

dtmToday = Date
dtmFirst = DateSerial(Year(dtmToday), Month(dtmToday), 1)
nWeek = Weekday(dtmFirst) - 1 '曜日取得
    • good
    • 0
この回答へのお礼

ありがとうございます><

お礼日時:2006/11/10 13:54

Private Sub CommandButton1_Click()


   Dim dtCurrent As Date
   Dim y As Integer
   Dim m As Integer
   Dim j As String
   Dim nWeek As Integer

   j = DateTime.Date()

'==========絶対ここは文字列として捕えることなく、年や月を得るもっと綺麗な書き方があるはず。=========

   y = Mid(Cstr(j), 1, 4) '年。
   m = Mid(Cstr(j), 6, 2) '月

============================================

'===== dtCurrent = Format(y & "/" & m & "/01", "yyyy/mm/dd")でもいけるっぽい ==========

   dtCurrent = CDate(y & "/" & m & "/01")
'=============================================
   nWeek = Weekday(dtCurrent) - 1 '曜日取得
   UserForm1.Caption = CStr(dtCurrent) & "-" & CStr(nWeek)

End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます。もう少し考えて見ます。

お礼日時:2006/11/08 17:49

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