2017-08-16 60 views
0

我有一個文件打開時會打開一個消息的Excel文件。但是,當我打開該文件時,由於該消息框的原因,該文件及其消息框不會出現在我的窗口前方,從而獲得焦點(它們出現在我的任務欄上,我必須從此處單擊它)。消息框完成後,該文件正常獲得焦點。消息框上打開文件並沒有得到關注

最簡單的形式,該代碼似乎觸發此

Sub Auto_Open() 
MsgBox "" 
End Sub 

我曾試圖加入代碼執行前,消息框給窗口焦點,但都沒有成功。我不介意這個問題,但其他人會使用這個文件。有針對這個的解決方法嗎?

+0

什麼版本的,你運行?無法在Excel 2010中 –

+0

瑞普我用Excel 2013 – ntuni

+0

是否一無所有但是這個代碼一個新的工作簿重現該問題?見[mcve]。 –

回答

0

傳統Auto_Open無論Application.EnableEvents的狀態如何,自動宏都將運行,如果另一個啓用宏的工作簿需要打開該工作簿,則可能會出現問題。

我不能重現該問題在Excel 2010中,這個代碼Module1

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

嘗試把消息框在ThisWorkbookOpen事件處理程序,看看是否有幫助。