函数调用许多其他函数

时间:2015-10-12 14:29:46

标签: excel vba excel-vba

我需要登录网站并执行更多操作,例如更新或抓取数据。但是,我想将所有内容汇总成一个并使用它来根据给定的信息访问其他情况,而不是使用一些登录代码。例如,我有一个调用的登录代码:

 Public Function LoginPhase(FunctionKey, KeyX)
 ...
 codes
 ...

 Call FunctionKey(KeyX)
 DoEvents

 ...
 End Function

并有一个调用的按钮:

Sub UpdateAcc_Click()

Call LoginPhase(UpdateFunction, 132)

End Sub

和另一个调用的按钮:

Sub UpdateAcc_Click()

Call LoginPhase(DataFunction, 132)

End Sub

当然还有那些名为UpdateFunctionDataFunction的功能代码。

如何让它以我想要的方式运作?

2 个答案:

答案 0 :(得分:2)

你的意思是这样吗?

Public Function LoginPhase(FunctionKey, KeyX)

Select Case FunctionKey
    Case "UpdateFunction"
        UpdateFunction KeyX
    Case "DataFunction"
        DataFunction KeyX
    Case Else
        MsgBox "FunctionKey """ & FunctionKey & """ is unknown"
End Select

End Function

答案 1 :(得分:0)

如果在类模块中定义所有函数(即ThisWorkbook),则可以使用CallByName调用它们,如图所示here(链接是关于VB6的,但它与vba相同)。

Public Function LoginPhase(FunctionKey, KeyX)
 ...
 codes
 ...

 CallByName ThisWorkbook, FunctionKey, vbMethod, KeyX
 DoEvents

 ...
 End Function