【发布时间】:2019-12-07 11:50:03
【问题描述】:
在 Excel 中,我正在寻找一种通过 VBA 关闭和重新打开多个模式用户表单的方法,这些用户表单以前是手动打开的。
手动打开两个模态用户窗体可以正常工作:第一个用户窗体是通过单击工作表上的按钮 (activx) 打开的,第二个用户窗体是通过单击第一个用户窗体上的按钮 (commandbutton2) 打开的。
为了对工作表应用更新,我需要暂时关闭两个用户窗体。我尝试了以下代码:
userform2.hide 'needs to be hidden before hiding the first userform, since both forms are modal
userform1.hide
userform1.show
userform2.show
这当然不能正常工作,因为代码执行得到halted by forms that open modal。使用UserformX.show vbModeless 将允许代码执行,但它也允许用户在不关闭我不想要的表单的情况下访问工作表。
这里有什么可能的解决方案?
编辑:应该有一个解决方案,使用来自this answer 的Application.OnTime 不幸的是我无法开始工作(假设它完全有效)。
【问题讨论】: