AddInEvents Class

AddIn Connection class, also handling Events from Excel (Open, Close, Activate)

Inheritance Hierarchy

Namespace: DBaddinAssembly: DBaddin in (DBaddin.dll)

Syntax

public class AddInEvents: IExcelAddIn

The AddInEvents type exposes the following members.

Constructors

ClassSummary
public constructorAddInEvents()

Methods

NameSummary
private methodApplication_AfterCalculate()
use Application_AfterCalculate to overcome the problem of auto-fitting formula ranges AFTER calculation (final column width is not available in dblistfetchAction procedure)
private methodApplication_SheetActivate(Object)
assign command buttons anew with each change of sheets
private methodApplication_SheetBeforeRightClick(Object, Range, ref Boolean)
Additionally to statically defined context menu in Ribbon this is needed to handle the dynamically displayed CUD DBMapper context menu entries (insert/delete)
private methodApplication_SheetChange(Object, Range)
Event Procedure needed for CUD DBMappers to capture changes/insertions and set U/D Flag
private methodApplication_WorkbookActivate(Workbook)
gets defined named ranges for DBMapper invocation in the current workbook after activation and updates Ribbon with it
private methodApplication_WorkbookBeforeClose(Workbook, ref Boolean)
Clean up after closing workbook, only set flag here, the actual cleanup is only done if workbook is really closed (in WB_Deactivate event)
private methodApplication_WorkbookDeactivate(Workbook)
Actually clean up after closing workbook
private methodApplication_WorkbookOpen(Workbook)
reset query cache, refresh DB functions and repair legacy functions if existing
private methodApplication_WorkbookSave(Workbook, Boolean, ref Boolean)
saves defined DBMaps (depending on configuration), also used to remove contents of DBListfunction results (data safety/space consumption) choosing functions for removal of target data is done with custom doc-properties
public methodassignHandler(Object)
assign click handlers to command buttons in passed sheet Sh, maximum 10 buttons are supported
public methodAutoClose()
AutoClose cleans up after finishing addin
public methodAutoOpen()
connect to Excel when opening Addin
private methodcb0_Click()
specific click handler for the 10th definable command button
private methodcb1_Click()
specific click handler for the 1st definable command button
private methodcb2_Click()
specific click handler for the 2nd definable command button
private methodcb3_Click()
specific click handler for the 3rd definable command button
private methodcb4_Click()
specific click handler for the 4th definable command button
private methodcb5_Click()
specific click handler for the 5th definable command button
private methodcb6_Click()
specific click handler for the 6th definable command button
private methodcb7_Click()
specific click handler for the 7th definable command button
private methodcb8_Click()
specific click handler for the 8th definable command button
private methodcb9_Click()
specific click handler for the 9th definable command button
private methodcbClick(String)
common click handler for all command buttons
protected methodFinalize()
used for releasing com objects
private methodmDeleteButton_Click(CommandBarButton, ref Boolean)
dynamic context menu item delete: delete row in CUD Style DBMappers
private methodmInsertButton_Click(CommandBarButton, ref Boolean)
dynamic context menu item insert: insert row in CUD Style DBMappers

Properties

NameSummary
private propertiesApplication
the application object needed for excel event handling (most of this class is dedicated to that)
private propertiescb0
CommandButton that can be inserted on a worksheet (name property being the same as the respective target range (for DBMapper/DBAction) or DBSeqnce Name)
public propertiescb1
CommandButton that can be inserted on a worksheet (name property being the same as the respective target range (for DBMapper/DBAction) or DBSeqnce Name)
private propertiescb2
CommandButton that can be inserted on a worksheet (name property being the same as the respective target range (for DBMapper/DBAction) or DBSeqnce Name)
private propertiescb3
CommandButton that can be inserted on a worksheet (name property being the same as the respective target range (for DBMapper/DBAction) or DBSeqnce Name)
private propertiescb4
CommandButton that can be inserted on a worksheet (name property being the same as the respective target range (for DBMapper/DBAction) or DBSeqnce Name)
private propertiescb5
CommandButton that can be inserted on a worksheet (name property being the same as the respective target range (for DBMapper/DBAction) or DBSeqnce Name)
private propertiescb6
CommandButton that can be inserted on a worksheet (name property being the same as the respective target range (for DBMapper/DBAction) or DBSeqnce Name)
private propertiescb7
CommandButton that can be inserted on a worksheet (name property being the same as the respective target range (for DBMapper/DBAction) or DBSeqnce Name)
private propertiescb8
CommandButton that can be inserted on a worksheet (name property being the same as the respective target range (for DBMapper/DBAction) or DBSeqnce Name)
private propertiescb9
CommandButton that can be inserted on a worksheet (name property being the same as the respective target range (for DBMapper/DBAction) or DBSeqnce Name)
private propertiesmDeleteButton
context menu delete button
private propertiesmInsertButton
context menu insert button

Fields

NameDescription
private fieldWbIsClosing
Flag for sharing closing state between Application_WorkbookBeforeClose and Application_WorkbookDeactivate (true for actually closed workbooks)