4


0

PIAのWord&ExcelのようにPowerPointの終了イベントをキャンセルする方法は?

Microsoft Wordを閉じると、closeイベントをキャンセルできます。 同じことがExcelにも当てはまります。

ただし、PowerPointの終了イベントにはキャンセルフラグがありません。

他の方法でイベントをキャンセルすることは可能ですか?

2 Answer


8


closeイベントでは、ドキュメントを「Saved = False」に設定できます。これにより、PowerPointは、ユーザーにYes-No-Cancelメッセージボックスでファイルを保存するかどうかを尋ねます。

イベントの終了直前に `SendKeys({ESC})`を使用すると、メッセージボックスにエスケープが送信され、closeイベントがキャンセルされます。


1


例:[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}");
}