1
我有一个名为cls_Utilitario下述方法类:传递表单对象作为一类参数在VBA
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
如果我将参数改为“Object”类型,为什么不能工作?我也尝试了“Variant”和“Form”类型,但是失败了。
在此先感谢。
我想问题在括号中。不要使用它们。并且不要仅使用Me.Form,而只是因为代码以表单的形式运行,所以Me指的是表单(希望Access在Excel中相同)。所以我认为这个调用应该看起来像这样:obj_Utilitario.LimparCampos Me – dee
如果你将'arg_form'作为一个对象传递给'LimparCampos',那么我不认为'arg_form.Controls'会工作,除非你投射它返回为一个“表格”。 – DeanOC
hi Dee和DeanOC。感谢您的快速帮助。它工作完美,没有像这样的括号:obj_Utilitario.LimparCampos Me.Form –