У меня возникли проблемы с подключением моего Workbook_SheetChange обработчика событий к активной книге. Я пробовал несколько методов безрезультатно, он просто говорит, что моя книга или экземпляр Excel (xlApp) имеет значение null и выдает исключение.Обработчик событий не подключается к Active Workbook для COM Addin
Вот код:
private void createProject_Click(object sender, RibbonControlEventArgs e)
{
Excel.Application xlApp;
xlApp = (Excel.Application)Marshal.GetActiveObject("Excel.Application");
exwb = (Excel.Workbook)xlApp.ActiveWorkbook;
MessageBox.Show(exwb.Name);
EventDel_CellsChange = new Excel.WorkbookEvents_SheetChangeEventHandler(narrator.Workbook_SheetChange);
xlApp.ActiveWorkbook.SheetChange += EventDel_CellsChange;
}
Проблема заключается в последней строке и обратите внимание, я замещенные xlApp.ActiveWorkbook для exwb несколько раз
@Drew: Это сработало для вас? –
Приносим извинения за неясность, я хочу, чтобы мой код (обработчик событий) активировался и привязывался к событию workbook_sheetchange активной книги, после нажатия кнопки ленты. Поэтому в этом случае я пытаюсь захватить активный экземпляр excel и его активную книгу. – Drew2127
Почему вы все это делаете? Вы не используете VSTO? –