2014-12-08 5 views
0

Можно ли добавить событие click в ячейку или диапазон в листе Excel из кода в надстройке C#?Динамически назначать событие click

Я загружаю данные из веб-службы в рабочий лист, но некоторые из столбцов (в зависимости от локальной конфигурации) должны отвечать на действия пользователя.

Возможно ли из кода расширения C# динамически назначать события кликов некоторым столбцам, которые затем вызывали бы код в надстройке?

+0

Вы можете использовать событие приложения http://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel .application_events (v = office.15) .aspx –

+0

Так что только щелкнуть правой кнопкой мыши и дважды щелкнуть? – CompanyDroneFromSector7G

+0

Вы также можете сделать выбор. –

ответ

0

Ответ: нет, не для конкретной ячейки или диапазона.

Но вы можете добавить событие для книги, а затем проверить свой код, следует ли обращаться к клику с правой кнопкой мыши по-разному.

Так, в главном классе AddIn, вы можете добавить:

private void MyAddin_Startup(object sender, EventArgs e) 
{ 
    // setup event handlers 
    Application.SheetBeforeRightClick += 
     MyRightClickFunction; 
} 

private void MyRightClickFunction(object sh, Excel.Range target, ref bool cancel) 
{ 
    // 'target' is the cell or selected range clicked 
    ... 
} 
Смежные вопросы