我有一个相当大的VBA项目,现在我需要知道什么子函数在调用该函数。
示例:
sub first()
RunSomeCode
end sub
sub second()
RunSomeCode
end sub
Function RunSomeCode()
' here I need to know if the calling sub is first() or second()
end function
我知道的唯一方法是在带有子调用名称的第一个和第二个子调用中传递带有函数调用的字符串。
但是这个函数随处可见,我想知道是否有更简单的方法来实现它。
我需要获取一个名为RunSomeCode的子字符串,仅在调试中获取它是不够的。
答案 0 :(得分:2)
答案 1 :(得分:1)
假设您只需要在第一和第二位置使用它,那么这可能会有所帮助
Option Explicit
Sub first()
RunSomeCode "First"
End Sub
Sub second()
RunSomeCode "Second"
End Sub
Sub third()
RunSomeCode
End Sub
Function RunSomeCode(Optional Caller As String)
' here I need to know if the calling sub is first() or second()
If Len(Caller) > 0 Then
Debug.Print Caller
End If
End Function