我制作了一个类模块并将其命名为 Time。我想在其中创建一个创建 Time 对象实例并返回它的函数。请参阅下面的代码。如果您能想出更好的方法来编写函数,我会全力以赴。就目前而言,我遇到的问题是当我发表以下声明时:
tsheet.MondayStart = Time.Construct(Item.Value)
此调用之前的 debug.print 语句显示 Item.Value 为“08:30”。tsheet 是 TimeSheet 类型,MondayStart 属性期望分配一个 Time 类型的对象。但是,当此语句在运行时执行时,我得到 object required 错误。我什至尝试删除括号,但所做的只是引发另一个错误“编译错误:预期的语句结束”
我该如何解决?请指教。太糟糕了 vba 不支持构造函数的概念 :-(
艾伦
'IN TIME CLASS MODULE
Public Function Construct(Value As String) As Time
'This function expects a string formatted like: 08:30
'Time.Delimiter returns ":"
Dim tempTime As Time
Dim vhours As Integer
Dim vminutes As Integer
Dim arrTime() As Time
arrTime = Split(Value, Time.Delimiter)
hours = CInt(Trim(arrTime(0)))
minutes = CInt(Trim(arrTime(1)))
Set tempTime = New Time
tempTime.hours = vhours
tempTime.minutes = vminutes
Construct = tempTime
End Function