从父应用程序断开VBA UserForm

时间:2013-10-08 15:27:00

标签: excel api vba excel-vba userform

我正在使用Excel生成的用户窗体修改PowerPoint演示文稿(这是避免需要启用宏的电子表格的迂回方式)。表单工作正常,但每次我关注它时,Excel应用程序都会聚焦(因为Excel是父窗口)。

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

1 个答案:

答案 0 :(得分:2)

这样的事情会起作用吗?这将在显示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应用程序,可以在表单上添加按钮/ etc

Private Sub CommandButton1_Click()
    'Displays the Excel Application:
    Application.Visible = True
End Sub