在VBA中将表单对象作为类参数传递

Tho*_* My 1 vba class access-vba

我有一个名为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
Run Code Online (Sandbox Code Playgroud)

我在表单中有以下代码:

Private Sub btnNovo_Click()
    Dim obj_Utilitario As cls_Utilitario

    Set obj_Utilitario = New cls_Utilitario
    obj_Utilitario.LimparCampos (Me.Form)

End Sub
Run Code Online (Sandbox Code Playgroud)

如果我将参数更改为"对象"类型,为什么它不起作用?我也试过"Variant"和"Form"类型但是没有成功.

提前致谢.

Com*_*Guy 5

更改

obj_Utilitario.LimparCampos (Me.Form)
Run Code Online (Sandbox Code Playgroud)

Call obj_Utilitario.LimparCampos (Me.Form)
Run Code Online (Sandbox Code Playgroud)

要么

obj_Utilitario.LimparCampos Me.Form
Run Code Online (Sandbox Code Playgroud)

在VBA中,如果未将函数的返回值存储在变量中或使用显示的关键字Call,则不得使用括号.