VBA技术问题:如何在函数中调用Form1窗体?解决显示报错
VB中调用Form1.Show报错BC30109的解决方案
在项目中添加Form1.vb后,直接调用Form1.Show或Form1.ShowDialog会触发错误BC30109 'form1' is a class type and cannot be used as an expression,原因是Form1作为类类型,不能直接当作表达式使用。
可通过以下代码解决该问题:
Private Sub Form1Func() Dim f1 As Object f1 = Form1 f1.ShowDialog End Sub Private Sub OnButtonClick(cmd As Commands_e) Select Case cmd Case Commands_e.Export_As_SheetMetal Form1Func() Case Commands_e.AboutUs Application.ShowMessageBox("AboutUS") End Select End Sub
代码说明:
- 声明Object类型变量
f1,将Form1赋值给该变量后,通过变量调用ShowDialog方法,绕开类类型不能直接作为表达式的限制。 - 在按钮点击事件中,通过
Select Case判断命令类型,触发对应的Form1显示逻辑。
内容的提问来源于stack exchange,提问作者mesyen
相关产品推荐
相关产品推荐

