Workbook_Before保存每个活动工作簿ActiveWorkbook
问题描述:
由于我经常遇到问题,该设置在设置中消失:保存前计算。 (我不知道我的办公室版本是德文的确切词语)。Workbook_Before保存每个活动工作簿ActiveWorkbook
这就是为什么我尝试使用VBA来解决问题。我在Excel文件中使用了以下代码:
Option Explicit
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _
Cancel As Boolean)
If Application.CalculateBeforeSave = False Then
If MsgBox("Caution! Should >calculatebeforesave< be activated?", vbYesNo) = vbYes Then
Application.CalculateBeforeSave = True
Else
End If
Else
End If
End Sub
我把这个放到了“Thisworkbook”中。但我希望这些代码能够在我工作的每个工作簿中运行(至少所有这些都允许使用宏)。
我的建议是编写ActiveWorkbook_BeforeSave ...而不是Workbook_BeforeSave,然后将代码放在PERSONAL宏文件的模块中。但这不起作用。
答
我认为你需要使用Excel应用程序事件,而不是工作簿事件来实现这一目标,如在此example
在你的个人工作簿中单击鼠标右键,然后插入AA类模块(1级)
下面加入类似的东西,以第1类:
Public WithEvents appevent As Application
Private Sub appevent_WorkbookBeforeClose(ByVal Wb As Workbook, Cancel As Boolean)
'Add what you would like to happen before a workbook closes
End Sub
下一页开放ThisWorksheet并沿着这些线路添加代码(我认为个人工作簿自动打开Excel启动时):
+1
当Excel启动时,Personal.xls/xlsb应该会自动打开,只要将它保存在XLSTART文件夹中:) –
所有你需要的是应用程序级事件处理程序。 http://www.cpearson.com/excel/AppEvent.aspx – cyboashu