天天看点

vsto 性能优化篇(一)

event AppEvents_NewWorkbookEventHandler NewWorkbook;
event AppEvents_WorkbookBeforeXmlImportEventHandler WorkbookBeforeXmlImport;
event AppEvents_WorkbookAfterXmlImportEventHandler WorkbookAfterXmlImport;
event AppEvents_WorkbookBeforeXmlExportEventHandler WorkbookBeforeXmlExport;
event AppEvents_WorkbookAfterXmlExportEventHandler WorkbookAfterXmlExport;
event AppEvents_WorkbookRowsetCompleteEventHandler WorkbookRowsetComplete;
event AppEvents_AfterCalculateEventHandler AfterCalculate;
event AppEvents_SheetPivotTableAfterValueChangeEventHandler SheetPivotTableAfterValueChange;
event AppEvents_SheetPivotTableBeforeAllocateChangesEventHandler SheetPivotTableBeforeAllocateChanges;
event AppEvents_SheetPivotTableBeforeCommitChangesEventHandler SheetPivotTableBeforeCommitChanges;
event AppEvents_WorkbookSyncEventHandler WorkbookSync;
event AppEvents_SheetPivotTableBeforeDiscardChangesEventHandler SheetPivotTableBeforeDiscardChanges;
event AppEvents_ProtectedViewWindowBeforeEditEventHandler ProtectedViewWindowBeforeEdit;
event AppEvents_ProtectedViewWindowBeforeCloseEventHandler ProtectedViewWindowBeforeClose;
event AppEvents_ProtectedViewWindowResizeEventHandler ProtectedViewWindowResize;
event AppEvents_ProtectedViewWindowActivateEventHandler ProtectedViewWindowActivate;
event AppEvents_ProtectedViewWindowDeactivateEventHandler ProtectedViewWindowDeactivate;
event AppEvents_WorkbookAfterSaveEventHandler WorkbookAfterSave;
event AppEvents_WorkbookNewChartEventHandler WorkbookNewChart;
nt AppEvents_SheetLensGalleryRenderCompleteEventHandler SheetLensGalleryRenderComplete;
nt AppEvents_SheetTableUpdateEventHandler SheetTableUpdate;
event AppEvents_ProtectedViewWindowOpenEventHandler ProtectedViewWindowOpen;
nt AppEvents_WorkbookModelChangeEventHandler WorkbookModelChange;
event AppEvents_WorkbookPivotTableOpenConnectionEventHandler WorkbookPivotTableOpenConnection;
event AppEvents_SheetPivotTableUpdateEventHandler SheetPivotTableUpdate;
event AppEvents_SheetSelectionChangeEventHandler SheetSelectionChange;
event AppEvents_SheetBeforeDoubleClickEventHandler SheetBeforeDoubleClick;
event AppEvents_SheetBeforeRightClickEventHandler SheetBeforeRightClick;
event AppEvents_SheetActivateEventHandler SheetActivate;
event AppEvents_SheetDeactivateEventHandler SheetDeactivate;
event AppEvents_SheetCalculateEventHandler SheetCalculate;
event AppEvents_SheetChangeEventHandler SheetChange;
event AppEvents_WorkbookOpenEventHandler WorkbookOpen;
event AppEvents_WorkbookActivateEventHandler WorkbookActivate;
event AppEvents_WorkbookPivotTableCloseConnectionEventHandler WorkbookPivotTableCloseConnection;
event AppEvents_WorkbookDeactivateEventHandler WorkbookDeactivate;
event AppEvents_WorkbookBeforeSaveEventHandler WorkbookBeforeSave;
event AppEvents_WorkbookBeforePrintEventHandler WorkbookBeforePrint;
event AppEvents_WorkbookNewSheetEventHandler WorkbookNewSheet;
event AppEvents_WorkbookAddinInstallEventHandler WorkbookAddinInstall;
event AppEvents_WorkbookAddinUninstallEventHandler WorkbookAddinUninstall;
event AppEvents_WindowResizeEventHandler WindowResize;
event AppEvents_WindowActivateEventHandler WindowActivate;
event AppEvents_WindowDeactivateEventHandler WindowDeactivate;
event AppEvents_SheetFollowHyperlinkEventHandler SheetFollowHyperlink;
event AppEvents_WorkbookBeforeCloseEventHandler WorkbookBeforeClose;
nt AppEvents_SheetBeforeDeleteEventHandler SheetBeforeDelete;











//针对上述事件,非常重要的优化点:
在这些触发事件地方进行控制下面的属性:

//有些事件触发需要禁用下面的属性
Application.ScreenUpdating = false;
                Application.DisplayAlerts = false;
                Application.EnableEvents = false;


//用完之后要还原的
 Application.EnableEvents = true;
                Application.DisplayAlerts = true;
                Application.ScreenUpdating = true;