windows - Excel 窗口和用户窗体最小化和最大化函数

标签 windows excel vba minimize

我目前在一个 excel 实例上打开了一个用户窗体,它被设置为除了用户窗体之外你不能与任何东西交互。由于无法最小化此程序,我在用户窗体上创建了一个“最小化”按钮,单击该按钮后,将隐藏用户窗体并按预期缩小 excel 窗口。

但是,当我单击最小化的 excel 应用程序以恢复窗口时,我希望用户窗体再次出现,excel 窗口像以前一样出现在它后面(现在只出现 excel 窗口)。

是否有任何函数或触发器可以让我在单击和恢复 excel 实例时再次显示我的用户窗体?这就是我目前最小化一切的方式:

Private Sub CommandButton15_Click()
Me.Hide
Application.WindowState = xlMinimized
End Sub

最佳答案

当您显示表单时,您可能会做如下事情:

UserForm.Show

Show 方法有一个可选的参数,是否以 ModalModeless 的形式显示。模态显示是默认的,不允许与工作表/工作簿对象交互。相反,当您显示表单时,请执行以下操作:

UserForm.Show vbModeless

这将允许用户与工作表/工作簿进行交互,从而减少对自定义按钮的需求,并且您不需要执行 Me.Hide。最小化应用程序将最小化用户窗体。最大化应用程序将重新显示工作簿用户窗体。

如果您必须使用用户窗体的 vbModal 显示(在许多应用程序中,这是防止用户与工作簿/工作表交互的有意要求),请告诉我。可能有一些事件或应用程序事件可以更好地捕获最小化/最大化。

更新

或者,您可以这样做。这种方法隐藏了 Excel 应用程序,并缩小了用户窗体的大小,然后在您单击返回用户窗体并再次显示 Excel 应用程序时调整它的大小。

Private Sub CommandButton15_Click()
'Hide Excel and minimize the UserForm
    Application.Visible = False
    Me.Height = 10
    Me.Width = 10

End Sub

Private Sub UserForm_Click()
'Show Excel and resize the UserForm
    Application.Visible = True
    Me.Height = 180
    Me.Width = 240
End Sub

Private Sub UserForm_Terminate()
'Ensure that the Application is visible and the form resized
    UserForm_Click
End Sub

关于windows - Excel 窗口和用户窗体最小化和最大化函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18275705/

相关文章:

VBA 展望。尝试从电子邮件正文中提取特定数据并导出到 Excel

python - 打印彩色输出 - 从控制台工作而不是从脚本工作

python - Sublime Text 2 - 无法运行带有空格和引号的 Windows 命令

python - 在 Openpyxl 中识别单元格

Python:如何读取多个文件夹中的所有文本文件内容并将其保存到一个excel文件中

vba - 如果四个变量相等

sql - VBA Excel错误将nvarchar值转换为int

php - 如何在 Windows 操作系统上安装 gearman php 扩展?

Windows 驱动程序 - 如何确定 Windows 是否正在启动或已经启动?

vba - Excel VBA - 连接变量