点击用户窗体关闭按钮后Excel窗口仍保持最小化的技术问题
问题解决:Excel窗口关闭无模式窗体后仍保持最小化
现有代码
工作表命令按钮代码:
Private Sub CommandButton1_Click() Application.WindowState = xlMinimized UserForm1.Show vbModeless End Sub
UserForm1关闭按钮代码:
Private Sub cmdExit_Click() If ExitAsk = vbYes Then Unload Me Application.WindowState = xlMaximized End If End Sub
问题原因
使用无模式(vbModeless)窗体时,Excel窗口最小化后,仅设置Application.WindowState = xlMaximized无法确保Excel自动获得焦点并显示在前台,系统焦点可能仍停留在已卸载的窗体相关进程上。
修复方案
在设置窗口最大化后,添加Application.Activate强制激活Excel应用程序,确保窗口显示在前台:
修改后的UserForm1关闭按钮代码:
Private Sub cmdExit_Click() If ExitAsk = vbYes Then Unload Me Application.WindowState = xlMaximized Application.Activate ' 强制激活Excel窗口 End If End Sub
也可以选择先调整Excel状态再卸载窗体,效果一致:
Private Sub cmdExit_Click() If ExitAsk = vbYes Then Application.WindowState = xlMaximized Application.Activate Unload Me End If End Sub
内容的提问来源于stack exchange,提问作者John Whitney
相关产品推荐
相关产品推荐

