Pull to refresh
21
0
Send message

Метод Application.Run – простой способ подружить Office-ribbon и обычные VBA-макросы (на примере C# и Excel)

Reading time12 min
Views10K
В статье рассматривается использование Visual Studio для решения узкой задачи – собственно вызов VBA-макросов, расположенных в надстройках или документах, с помощью кнопок, которые разработчик может разместить в необходимых дополнительных (отдельно созданных) группах элементов вкладки НАДСТРОЙКИ ленты Excel или отдельных вкладках, и, при желании, использовать все современные возможности для работы с этими элементами.

Для читателей, в целом знакомых с тем, как в Visual Studio (конкретно – механизмы Visual Studio Tools for Office (VSTO)) реализована работа с объектами офисных приложений (объектные модели, само собой, ничем не отличаются от доступных средствами VBA), целесообразно сократить время чтения – основную мысль статьи можно выразить одной строкой C#-кода:

Globals.ThisAddIn.Application.Run("Файл_с_макросами.xlsm!МакросОдин");

которая аналогична хорошо известному VBA-вызову Application.Run(“ИмяМакроса”) – в том числе и в варианте вызова как функции:

MyValue = Globals.ThisAddIn.Application.Run("Файл_с_макросами.xlsm!МакросОдин");

Ну и вариантах с передачей одного или нескольких параметров разных типов:

Globals.ThisAddIn.Application.Run("Файл_с_макросами.xlsm!МакросОдин", "Параметр1", 2);

VBA-разработчиков, для которых актуальна данная проблема, – приглашаю продолжить чтение. Пошаговое выполнение демо-примера займет примерно 10-20 минут (без учета затрат времени на загрузку, установку и стартовую настройку Visual Studio Community Edition).
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments0

Решение проблемы «короткий левый Shift»

Reading time3 min
Views22K
Комфорт при длительной работе с клавиатурой — важный фактор, влияющий и на производительность, и на здоровье рук. Зачастую нам приходится кейбордствовать по несколько часов без перерывов, поэтому, кроме собственно выбора подходящих клавиатур (высота хода клавиш, жесткость хода, глубина хода от точки срабатывания до упора, тактильные ощущения от поверхности клавиш, жесткость корпуса клавиатуры, вариант раскладки клавиш и прочее) целесообразно подумать о простых трюках, которые позволяют повысить удобство использования клавиатуры без каких-либо усилий.
Читать дальше →
Total votes 26: ↑22 and ↓4+18
Comments46

Information

Rating
Does not participate
Registered
Activity