我正在使用由 Excel 生成的 UserForm 来修改 PowerPoint 演示文稿(这是一种避免需要启用宏的电子表格的迂回方式)。该表单工作得很好,但每次我关注它时,Excel 应用程序都会获得焦点(因为 Excel 是父窗口)。
有没有办法阻止这种情况发生?我想防止 Excel 在使用 UserForm 时获得焦点。
像这样的东西会起作用吗?这将在显示用户窗体时隐藏/使父 Excel 应用程序不可见。或者至少让你开始:
“显示”用户窗体的示例子例程:
Sub Test()
Dim ppt As Object
Dim xl As Object
Set ppt = GetObject(, "PowerPoint.Application")
Application.Visible = False
UserForm1.Show vbModeless
End Sub
在表单的Terminate
事件中使用它:
Private Sub UserForm_Terminate()
'Ensures the Excel Application is visible after the form closes
Application.Visible = True
End Sub
如果您想允许用户取消隐藏 Excel 应用程序,您可以在表单上添加按钮/等
Private Sub CommandButton1_Click()
'Displays the Excel Application:
Application.Visible = True
End Sub