Когда активная ячейка в объекте-листе Excel является заголовком столбца, я хотел бы программно (в C#) обрабатывать нажатие клавиши DEL как эквивалент удаления этого столбца. В настоящее время, если я нажму клавишу DEL, имя заголовка изменится на имя по умолчанию, автоматически генерируемое Excel (например, List1 или Spalte1 в моем случае немецкой версии Excel).
Перехват события нажатия клавиши для клавиша DEL - это опция, которую я бы хотел избежать, поскольку я не хочу излишне подчеркивать приложение, постоянно следя за любыми событиями нажатия клавиш.
Поэтому мне интересно, есть ли способ определить, как будет называться заголовок столбца по умолчанию после нажатия клавиши Delete, чтобы я мог реализовать обработчик события Change, который будет сравнивать содержимое нового заголовка с этим именем по умолчанию и, таким образом, интерпретировать его как действие удаления столбца (конечно, запрашивая подтверждение у пользователя!).
В обработчике события изменения код может выглядеть следующим образом (здесь предполагается, что ActiveCell - это имя столбца заголовка столбца, который должен быть удален):
string headerName = ActiveCell.Value2;
int colIdx = ActiveCell.Column - myListObject.Range.Column +1;
Excel.ListColumn columnToDelete = myListObject.ListColumns[colIdx];
if (headerName == someDefaultName)
{
columnToDelete.Delete();
}
В любом случае, как я могу определить someDefaultName, не сравнивая его со списком имен по умолчанию для всех возможных языков, поддерживаемых Excel ??