Как создать кнопку (или форму) на листе Excel с помощью C#? Я сейчас делаю это с ниже код, но я сталкиваюсь две проблемы:Как запрограммировать создание кнопки на листе Excel в C#?
- кнопка получает перемещается, когда колонки с левой изменении размеров
- кнопка не реагирует, когда вы выбираете или щелкните правой кнопкой мыши , поэтому нет очевидного способа для пользователя вручную удалить его с листа после его автоматического добавления
EDIT: Как мне напоминает Ланс, №2 объясняется моим собственным недоразумением - для того, чтобы удалить формы, вы должны использовать режим проектирования, доступ к которому вы можете получить через вкладку «Разработчик» на ленточной панели.
Есть ли лучший способ генерации кнопок, которые позволят избежать этих двух проблем?
// prior code is equivalent to:
// var name = "MyButton";
// var row = 2;
// var buttonCol = 5;
Range cell = sh.Cells[row, buttonCol];
var width = cell.Width;
var height = 25;
var left = cell.Left;
var top = Math.Max(cell.Top + cell.Height - height, 0);
var items = sh.Shapes;
var btn = items.AddOLEObject("Forms.CommandButton.1",
null, null, null, null,
null, null,
left, top, width, height);
btn.Name = name;
OLEObject sheetBtn = sh.OLEObjects(name);
sheetBtn.Object.Caption = isSubmit ? "Send" : "Cancel";
D'oh - Я забыл о режиме разработки. – Eric