Как отменить событие закрытия для PowerPoint, как в Word и Excel в PIA? - PullRequest
4 голосов
/ 01 апреля 2010

Когда Microsoft Word закрывается, событие закрытия может быть отменено. То же самое для Excel.

Но событие закрытия PowerPoint не имеет флага отмены.

Можно ли отменить событие другим способом?

Ответы [ 2 ]

8 голосов
/ 13 мая 2010

В случае закрытия вы можете установить документ на Saved = False, это заставит PowerPoint запросить у пользователя, хочет ли он сохранить файл с окном сообщения Да-Нет-Отмена.

Использование SendKeys({ESC}) непосредственно перед окончанием события отправит escape в окно сообщения, и событие закрытия будет отменено.

1 голос
/ 13 октября 2010

пример: [не работает в PP2003]

using MSPowerPoint = Microsoft.Office.Interop.PowerPoint;
using MSOffice = Microsoft.Office.Core;

protected virtual void AppEvents_PresentationClose(object sender, object hostObj)

{
   MSPowerPoint._Presentation p = (MSPowerPoint._Presentation)hostObj;
   p.Saved = MSOffice.MsoTriState.msoFalse;
   SendKeys.Send("{ESC}");
}
...