Corel Draw中点击按钮后用Exit Sub无法关闭Userform的问题求助
解决CorelDraw VBA中Exit Sub无法关闭UserForm的问题
嘿,我完全懂你碰到的这个困惑——Exit Sub从一开始就不是用来关闭UserForm的,它的作用仅仅是终止当前正在执行的子过程,所以哪怕你把它写在代码里,也只会结束CommandButton1_Click这个点击事件的执行,不会对窗体本身有任何关闭操作。
你原来的代码里,MsgBox "Script Ran!"能正常弹出,说明整个过程确实完整运行了,但Exit Sub只是让这个点击事件到此为止,窗体还是会留在界面上。至于你尝试用虚拟变量触发Exit Sub的思路,之所以没用也是因为这个核心问题:Exit Sub本身就不具备关闭窗体的功能,跟条件判断无关。
要实现点击按钮后运行完代码再关闭UserForm,你需要用专门的窗体控制命令:
正确的代码示例
Private Sub CommandButton1_Click() MsgBox "Script Ran!" Unload Me ' 卸载并关闭当前UserForm End Sub
补充说明两种常用的窗体关闭方式:
Unload Me:彻底卸载当前窗体,释放它占用的内存资源,之后如果要再显示这个窗体,需要重新加载。Me.Hide:只是将窗体隐藏起来,它仍然保留在内存中,后续可以通过UserForm1.Show(替换成你的窗体名称)再次显示它,适合需要复用窗体的场景。
你可以根据自己的需求选择其中一种,替换掉原来的Exit Sub就能实现点击按钮后关闭窗体的效果啦。
内容的提问来源于stack exchange,提问作者Jeremy




