我有一个名为 cls_Utilitario 的课程,方法如下:
Public Function LimparCampos(arg_form As Object)
Dim campo As Control
For Each campo In arg_form.Controls
With campo
Select Case .ControlType
Case acComboBox, acTextBox
.Value = Null
End Select
End With
Next campo
Set campo = Nothing
Set arg_form = Nothing
End Function
我在表格中有以下代码:
Private Sub btnNovo_Click()
Dim obj_Utilitario As cls_Utilitario
Set obj_Utilitario = New cls_Utilitario
obj_Utilitario.LimparCampos (Me.Form)
End Sub
如果我将参数更改为“对象”类型,为什么它不起作用?我也试过“Variant”和“Form”类型,但是没有成功。
提前致谢。
答案 0 :(得分:5)
更改
obj_Utilitario.LimparCampos (Me.Form)
到
Call obj_Utilitario.LimparCampos (Me.Form)
或者
obj_Utilitario.LimparCampos Me.Form
在VBA中,如果您不将函数的返回值存储在变量中或使用关键字Call
,则不得使用括号。