打开文件的消息框无法获得焦点

时间:2017-08-16 14:00:56

标签: excel vba

我有一个excel文件,在打开文件时会打开一个消息框。但是,当我打开文件时,由于消息框,文件及其消息框没有到我的窗口前面获得焦点(它们出现在我的任务栏上,我必须从那里点击它)。消息框完成后,文件将正常获得焦点。

最简单的形式,这段代码似乎触发了这个

Sub Auto_Open()
MsgBox ""
End Sub

我尝试在执行消息框之前添加代码以使窗口焦点,但没有成功。我不介意这个问题,但其他人会使用这个文件。有解决方案吗?

1 个答案:

答案 0 :(得分:0)

无论状态为Auto_Open,遗留Application.EnableEvents自动宏都会运行,如果另一个启用宏的工作簿需要打开该工作簿,则可能会出现问题。

我无法使用Module1中的代码

在Excel 2010上重现该问题
Sub Auto_Open()
    MsgBox "Auto_Open()"
End Sub

此代码位于ThisWorkbook

Private Sub Workbook_Open()
    MsgBox "Workbook_Open()"
End Sub

我得到两个连续的消息框,首先来自Workbook_Open,然后来自Auto_Open,两者都显示在我预期的位置 - 就在空工作表的中间:

Workbook_Open() message box right in the middle of an empty worksheet

Auto_Open() message box, also right in the middle of an empty worksheet

尝试将消息框放在Open的{​​{1}}事件处理程序中,看看是否有帮助。