2011-05-16 74 views
1

我有這個設計模板,我想在默認情況下應用於應用程序,只要它打開。但是需要打開文檔才能應用設計模板。因此,無論何時打開/創建新的或現有的工作簿,我都必須定位一些處理程序。Excel VBA - 在應用程序打開時運行宏

那麼我可以在這裏採取哪種方法?

回答

3

我認爲你可以使用Workbook_open事件。它聽起來像對於你想要的行爲就足夠了,但是因爲你希望你的宏是全局的,所以你可能需要爲它們編寫一個add in

+0

是的,我準備創建一個加載項。但是,Workook_Open事件是否會觸發創建的新工作簿以及現有的工作簿? – 2011-05-16 07:40:35

+0

@肯尼我不認爲它區分了兩者。 – jonsca 2011-05-16 07:43:14

1

加載項方法最適合應用於現有工作簿。

如果您希望將標準設計模板應用於每個新工作簿,我建議您創建一個模板。

要做到這一點:

  1. 創建一個新的空工作簿
  2. 應用設計模板
  3. 將文件保存爲Book.xlt(爲Excel 2003,2007年的版本Book.xltx,2010)在以下文件夾中:%appdata%\Microsoft\Excel\XLSTART\

每次創建新工作簿(通過打開Excel或點擊「新建」按鈕)時,都會從此模板文件生成。

+0

這其實有一個巨大的缺陷。如果您將Book.xlsx文件放入XLSTART文件夾,那麼新文檔就是基於此。但是如果您碰巧打開了一個現有的文檔,則會打開兩個Excel窗口。這根本不是想要的。 – 2011-05-18 05:38:41

+0

這就是權衡 - 每次創建新工作簿時,您都需要點擊按鈕,或者每次從文件啓動Excel時都要打開第二個空白工作簿這樣的問題。我個人寧願處理空白的工作簿。 – variant 2011-05-18 13:59:44

相關問題