我有这个设计模板,我想在默认情况下应用于应用程序,只要它打开。但是需要打开文档才能应用设计模板。因此,无论何时打开/创建新的或现有的工作簿,我都必须定位一些处理程序。Excel VBA - 在应用程序打开时运行宏
那么我可以在这里采取哪种方法?
我有这个设计模板,我想在默认情况下应用于应用程序,只要它打开。但是需要打开文档才能应用设计模板。因此,无论何时打开/创建新的或现有的工作簿,我都必须定位一些处理程序。Excel VBA - 在应用程序打开时运行宏
那么我可以在这里采取哪种方法?
我认为你可以使用Workbook_open事件。它听起来像对于你想要的行为就足够了,但是因为你希望你的宏是全局的,所以你可能需要为它们编写一个add in。
加载项方法最适合应用于现有工作簿。
如果您希望将标准设计模板应用于每个新工作簿,我建议您创建一个模板。
要做到这一点:
%appdata%\Microsoft\Excel\XLSTART\
每次创建新工作簿(通过打开Excel或点击“新建”按钮)时,都会从此模板文件生成。
这其实有一个巨大的缺陷。如果您将Book.xlsx文件放入XLSTART文件夹,那么新文档就是基于此。但是如果您碰巧打开了一个现有的文档,则会打开两个Excel窗口。这根本不是想要的。 – 2011-05-18 05:38:41
这就是权衡 - 每次创建新工作簿时,您都需要点击按钮,或者每次从文件启动Excel时都要打开第二个空白工作簿这样的问题。我个人宁愿处理空白的工作簿。 – variant 2011-05-18 13:59:44
是的,我准备创建一个加载项。但是,Workook_Open事件是否会触发创建的新工作簿以及现有的工作簿? – 2011-05-16 07:40:35
@肯尼我不认为它区分了两者。 – jonsca 2011-05-16 07:43:14