Можно ли разместить кнопки в Excel-Worksheet и заполнить их функцией через VSTO-Excel Addin - PullRequest
0 голосов
/ 11 ноября 2019

У меня есть шаблоны Excel, в которых vba-makros должен быть заменен надстройками VSTO. Шаблоны имеют кнопки и все остальное. До сих пор мне было легко реализовать новые кнопки с помощью «UserControls», которые открываются в соответствии с тегом, уникальным для каждого шаблона.

Но было бы лучше иметь старые кнопки. При этом я сталкиваюсь с несколькими проблемами:

Когда я реализую кнопку во время выполнения, я не могу щелкнуть ее, потому что шаблоны обычно имеют уровень масштабирования, отличный от 100%, и, следовательно, кнопка автоматически деактивируется.

Workbook wbActiveWorkbook = (Workbook)Globals.ThisAddIn.Application.ActiveWorkbook;

Excel.Worksheet nativeWorksheet = Globals.ThisAddIn.Application.ActiveSheet;

//Adds Button to the worksheet
Microsoft.Office.Tools.Excel.Controls.Button opt;

opt = vstoSheet.Controls.AddButton(cell, "MyButton");

При получении кнопки уже на листе Excel я не могу заполнить ее функцией.

//Gets Button on worksheet
Excel.Button opt1 = (Excel.Button)vstoSheet.Buttons(2);

При поиске объектов OLEObject возвращает 0 элементов.

//Get all OLE Object
OLEObjects oLEObjects = (OLEObjects)nativeWorksheet.OLEObjects();
int i = oLEObjects.Count;

Я совсем новичок в программировании VSTO-Addin, и из руководств MSDN я не могу найти ничего, что подсказывало бы мне, что это невозможно и что это возможно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...