You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 18:01:05