Различать события сохранения и автосохранения в Microsoft Excel.

У меня есть два проекта Microsoft Excel 2007/2010 C# Addin. Как я могу отличить обычные команды «Сохранить»/«Сохранить как», которые вызываются пользователем, и событие «Автосохранение», которое периодически вызывается самим Excel?

Я знаю, что в Microsoft Word я могу получить доступ к событию автосохранения через объект Application.WordBasic:

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

person eki    schedule 15.11.2012    source источник


Ответы (1)


Через Интернет:

В Excel 2003/2007 нет автосохранения. Сохранение AutoRecovery не является настоящим сохранением книги. Это сохранение информации в другом файле, который, по-видимому, может использовать только 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

person Jon49    schedule 15.11.2012