gpt4 book ai didi

vba - 让 MS Office 用户窗体检测调用它的子例程

转载 作者:行者123 更新时间:2023-12-02 08:46:07 24 4
gpt4 key购买 nike

在我的 VBA 项目中,我正在/将要使用一系列相当复杂的用户表单,其中许多在视觉上是相同的,但按钮上附加了不同的子例程。因此,我不太热衷于多次复制它们以便从同一布局中获得不同的功能。是否可以让用户窗体检测哪个子例程调用了它并在流程控制中使用它?我希望能够做这样的事情:

Private Sub UserForm_Initialize()
If [the sub that called the userform is called "foo"] then
Call fooSub
else
Call barSub
End If
End Sub

我的备用计划是让调用子例程设置一个全局变量标志并让用户窗体检查它,但这似乎是一个相当粗糙和笨拙的解决方案。

谢谢大家,
路易斯

最佳答案

您可以使用表单的标签属性。加载表单,设置属性,然后显示表单:

Sub PassCallerToForm()
Load UserForm1
UserForm1.Tag = "foo"
UserForm1.Show
End Sub

现在属性已设置,您可以确定在表单中执行哪些操作:

Private Sub UserForm_Activate()
If Me.Tag = "foo" Then
Call fooSub
Else
Call barSub
End If
End Sub

关于vba - 让 MS Office 用户窗体检测调用它的子例程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17150686/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com