问题
When Microsoft Word is closed, the close event can be canceled. The same is for Excel.
But the PowerPoint close event doesn't have cancel flag.
Is it possible to cancel the event in any other way?
回答1:
In the close event you can set the document to Saved = False
, this will force PowerPoint to ask the user if he wants to save the file with a Yes-No-Cancel message box.
Using SendKeys({ESC})
just before the end of the event, it will send escape to the message box, and the close event will be canceled.
回答2:
example: [doesn't work in 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}");
}
来源:https://stackoverflow.com/questions/2560585/how-to-cancel-the-close-event-for-powerpoint-like-in-word-excel-in-pia