我怎樣才可以把VB程式移植到OFFICE VBA(office控件中沒有timer控件﹐但我已經下載了一個)中﹐有一個紅色的對象不對﹐但我不知道該用什么
程序说明: 利用一个计时器、一个标签框和二个命令按钮制作一个动态秒表,如图1所示。单击“开始”命令按钮,秒表开始计时,单击“结束”命令按钮,秒表结束计时,并在标签框显示运行时间,如“运行了0小时2分10秒”。(假设对象的属性都在程序代码中设定)
程序代码如下:
VB.NET code
Dim x As Long
Dim h As Integer, m As Integer, s As Integer
Private Sub Form_Load()
Form1.Caption = "动态秒表(小时:分:秒)"
Command1.Caption = "开始[&S]"
Command2.Caption = "结束[&E]"
Label1.Alignment = 2 '居中对齐
Label1.Caption = " 0: 0: 0"
Timer1.Interval =1000
Timer1.Enabled = False
x = 0
End Sub
Private Sub Command1_Click()
Timer1.Enabled = True
End Sub
Private Sub Command2_Click()
Timer1.Enabled = False
x =0
Label1.Caption = "运行了"+Str(h)+"小时"+Str(m)+"分"+Str(s)+"秒"
End Sub
Private Sub Timer1_Timer()
x = x + 1
h = x \ 3600
m = (x Mod 3600) \ 60
s =x Mod 60
Label1.Caption = Str(h) + ":" + Str(m) + ":" + Str(s)
End Sub
程序说明: 利用一个计时器、一个标签框和二个命令按钮制作一个动态秒表,如图1所示。单击“开始”命令按钮,秒表开始计时,单击“结束”命令按钮,秒表结束计时,并在标签框显示运行时间,如“运行了0小时2分10秒”。(假设对象的属性都在程序代码中设定)
程序代码如下:
VB.NET code
Dim x As Long
Dim h As Integer, m As Integer, s As Integer
Private Sub Form_Load()
Form1.Caption = "动态秒表(小时:分:秒)"
Command1.Caption = "开始[&S]"
Command2.Caption = "结束[&E]"
Label1.Alignment = 2 '居中对齐
Label1.Caption = " 0: 0: 0"
Timer1.Interval =1000
Timer1.Enabled = False
x = 0
End Sub
Private Sub Command1_Click()
Timer1.Enabled = True
End Sub
Private Sub Command2_Click()
Timer1.Enabled = False
x =0
Label1.Caption = "运行了"+Str(h)+"小时"+Str(m)+"分"+Str(s)+"秒"
End Sub
Private Sub Timer1_Timer()
x = x + 1
h = x \ 3600
m = (x Mod 3600) \ 60
s =x Mod 60
Label1.Caption = Str(h) + ":" + Str(m) + ":" + Str(s)
End Sub
Dim h As long, m As long, s As long ................................... Private Sub Timer1_Timer()'每1秒钟触发一次
dim cjl as long
x = x + 1
h=(x/3600)'取得小时
cjl=(x mod 3600)
m=(cjl/60)'取得分钟
s=(cjl mod 60)'取得秒种
Label1.Caption = iif(len(trim(Str(h))) <2,"0"&trim(Str(h)),trim(Str(h))) + ":" + iif(len(trim(Str(m))) <2,"0"&trim(Str(m)),trim(Str(m))) + ":" + iif(len(trim(Str(s))) <2,"0"&trim(Str(s)),trim(Str(s)))
End Sub
Option ExplicitDim x As Long
Dim h As Long, m As Long, s As Long
Private Sub Form_Load()
Form1.StartUpPosition = 2
Form1.Caption = "动态秒表(小时:分:秒)"
Command1.Caption = "开始[&S]"
Command2.Caption = "结束[&E]"
Label1.Alignment = 2 '居中对齐
Label1.Caption = "00:00:00"
Timer1.Interval = 1000
Timer1.Enabled = False
Label1.BackColor = &H0&
Label1.ForeColor = &HFF00&
Label1.Font.Name = "Arial Rounded MT Bold"
Label1.Alignment = 2
x = 0
End Sub
Private Sub Command1_Click()
Timer1.Enabled = True
Label1.Font.Size = 24
End Sub
Private Sub Command2_Click()
Timer1.Enabled = False
Label1.Font.Size = 14
x = 0
Label1.Caption = "运行了" + Str(h) + "小时" + Str(m) + "分" + Str(s) + "秒"
End Sub
Private Sub Timer1_Timer() '每1秒钟触发一次
Dim cjlh As Long, cjlm As Long
x = x + 1
cjlh = Int(x / 3600)
h = cjlh '取得小时
cjlm = Int((x Mod 3600) / 60) '关键在这里,用INT取整,否则每30秒进1,有点奇怪
m = cjlm '取得分钟
s = ((x Mod 3600) Mod 60) '取得秒种
Label1.Caption = IIf(Len(Trim(Str(h))) < 2, "0" & Trim(Str(h)), Trim(Str(h))) + ":" + IIf(Len(Trim(Str(m))) < 2, "0" & Trim(Str(m)), Trim(Str(m))) + ":" + IIf(Len(Trim(Str(s))) < 2, "0" & Trim(Str(s)), Trim(Str(s)))
End Sub我改进了一下,用了毫秒级,动得比较快,下载地址:http://download.csdn.net/source/316696