3

我正在使用由 Excel 生成的 UserForm 来修改 PowerPoint 演示文稿(这是一种避免需要启用宏的电子表格的迂回方式)。该表单工作得很好,但每次我关注它时,Excel 应用程序都会获得焦点(因为 Excel 是父窗口)。

有没有办法阻止这种情况发生?我想防止 Excel 在使用 UserForm 时获得焦点。

4

1 回答 1

2

像这样的东西会起作用吗?这将在显示用户窗体时隐藏/使父 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
于 2013-10-08T15:37:41.607 回答