用VB编一个输出该月月历的程序

输入某月总天数及该月第一天是星期几,如输入:31,3
输出3月份带星期和日期的月历。

Private Sub Form_Load()
Me.AutoRedraw = True
Me.Width = 10000
Me.Height = 6000
Do While Not (n1 >= 28 And n1 <= 31)
n1 = InputBox("请输入月份的总天数", "总天数")
Loop
Do While Not (n2 >= 1 And n2 <= 7)
n2 = InputBox("请输入这月份第一天星期几", "星期几")
Loop
Print "星期日",
Print "星期一",
Print "星期二",
Print "星期三",
Print "星期四",
Print "星期五",
Print "星期六"
For i = 0 To n2 - 1
Print " ",
Next
For i = 1 To n1
If (i + n2 - 1) Mod 7 = 0 Then Print ""
Print i,
Next
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-01-31
'窗体上放text1 text2 text3 command1
Private Sub Command1_Click()
'天总数
Dim dayCount As Long
'第一天星期几
Dim weeknum As Long
'输出
Dim outtext As String

'text1为天总数
dayCount = Val(Text1.Text)
'text2为第一天是星期几
weeknum = Val(Text2.Text)
Dim i As Long
outtext = "星期一" & vbTab & "星期二" & vbTab
outtext = outtext & "星期三" & vbTab & "星期四" & vbTab
outtext = outtext & "星期五" & vbTab & "星期六" & vbTab & "星期日" & vbCrLf

For i = 1 To weeknum - 1
outtext = outtext & vbTab
Next

Dim k As Long
For i = 1 To 7 - weeknum + 1
outtext = outtext & i & vbTab
k = k + 1
Next
outtext = outtext & vbCrLf

For i = 1 To dayCount - k
'
outtext = outtext & CStr(i + k) & vbTab
If i Mod 7 = 0 Then
outtext = outtext & vbCrLf
End If
Next

Text3.Text = outtext
End Sub

Private Sub Form_Load()
Text1.Text = 31
Text2.Text = 2
End Sub
相似回答