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 –