在Microsoft Excel中区分保存和自动保存事件

时间:2012-11-15 15:25:59

标签: c# excel-vba office-interop excel-addins vba

我有两个Microsoft Excel 2007/2010 C#Addin项目。如何区分用户调用的常规“保存”/“另存为”命令和Excel本身定期调用的“AutoSave”事件?

我知道在Microsoft Word中我可以通过Application.WordBasic对象访问AutoSave事件:

var oBasic = Application.WordBasic;
var fIsAutoSave = oBasic.GetType().InvokeMember("IsAutosaveEvent", BindingFlags.GetProperty, null, oBasic, null);
bool isAutoSave = int.Parse(fIsAutoSave.ToString()) == 1;

1 个答案:

答案 0 :(得分:0)

通过网络:

  

Excel 2003/2007中没有自动保存。自动恢复保存不是   一本真正的工作簿保存。它是另一个文件中的信息保存,   显然只有Excel可以用来从崩溃中恢复。用户   无法打开此文件,或者至少我无法打开。

您可以为正在使用的工作簿关闭自动保存(Excel 2003 - 现在没有打开另一个):

Tools -> Options -> Save

然后滚动你自己的自动保存。

您可能感兴趣的几个网站有关该主题的更多详细信息: http://support.microsoft.com/kb/289273

http://social.msdn.microsoft.com/Forums/eu/isvvba/thread/e044e88d-4a8d-4d75-8513-42709f08d0b2