2012-08-17 82 views
0

我有一個工作簿打開事件的宏工作簿Excel 2007。 內打開工作簿事件有可能是我發現,如果工作簿是由用戶從Windows或使用VBA另一個工作簿打開...查找使用VBA或用戶打開的工作簿

+0

嗯,我不能想辦法。你究竟想達到什麼目的? – 2012-08-17 05:53:02

+0

當用戶打開工作簿時,我需要運行一些宏來初始化組合框等菜單,但是我還需要使用vba打開工作簿以更新鏈接和其他信息,因爲這會發生安靜情況,而且通常會減慢執行的速度每次打開工作簿時,工作簿都會打開。 – Deepak 2012-08-17 05:57:18

+0

爲什麼不顯示非模態用戶表單3秒詢問用戶是否要運行宏?如果代碼打開文件,用戶表單將不會得到輸入,並會在3秒內自動關閉 – 2012-08-17 06:06:29

回答

1

我不知道這是否符合您的需要,但你可以在你的VBA代碼打開工作簿時不費一槍事件:

'Disable Events. 
Application.EnableEvents = False 

'Open your book. 
Workbooks.open(Filename) 

'Enable Events. 
Application.EnableEvents = True 
0

如果這適合您的目的:

當使用VBA打開,在打開之前更改工作簿的名稱。然後在完成後將其改回。 Workbook_Open過程只需要檢查工作簿是在名稱。

要改變工作簿的名稱

你可以打開它,然後使用SaveAs方法將使用新的名稱再次關閉

使用Shell函數

使用Microsoft Scripting Runtime對象。

相關問題