gpt4 book ai didi

excel - VBA:如何将表单作为参数传递

转载 作者:行者123 更新时间:2023-12-03 20:36:40 24 4
gpt4 key购买 nike

我有一个简单的用户表单,上面有一个按钮。我想将此表单传递给另一个模块中的函数 - 但即使在同一个模块中,它也无法按预期工作:

Private Sub Test(ByRef oForm As MSForms.UserForm)
Debug.Print "caption: >" & oForm.Caption & "<"
End Sub

Private Sub CommandButton3_Click()
Debug.Print "caption: >" & Me.Caption & "<"
Test Me
Debug.Print "caption: >" & Me.Caption & "<"
End Sub

当我单击按钮时,它会将其打印到调试控制台:
caption: >UserForm1<
caption: ><
caption: >UserForm1<

所以在 Test()里面子 Caption为空白。

任何想法为什么这不起作用?

注意:如果我使用 Variant作为参数类型,它可以工作

最佳答案

输入 UserForm不直接等同于特定用户表单的实例,并呈现略有不同的界面。

通过表格as Object :

Private Sub Test(Form As Object)

或者对于类型安全的方法,用户窗体可以实现一个接口(interface):
Private Sub Test(Form As IMyForm)

关于excel - VBA:如何将表单作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22302579/

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