Создать общую библиотеку функций VBA в Excel
В нашей компании у нас есть много разных файлов Excel для отслеживания наших проектов. Мы хотели бы реализовать некоторые функции VBA в этих файлах, написанных нами, ИТ-отделом. Мы хотим, чтобы мы могли писать функции, а затем помещать их в какую-то центральную библиотеку на сервере, чтобы пользователи могли использовать их во всех существующих и будущих файлах Excel без каких-либо дополнительных знаний Excel.
В идеале они использовали бы эти функции так же, как теперь они используют существующие функции Excel, такие как Sum (), Avg (), Dayofweek (),... Таким образом, они просто напечатали бы cell = VBAFunction1 (), и функция будет использоваться.
Есть ли способ централизовать это, или нам придется копировать каждую функцию в раздел VBA каждого листа Excel?
1 ответ
Вы можете написать свою библиотеку как COM DLL в C#,VB.NET или более старых VB. Эта библиотека должна быть зарегистрирована с regsvr32
и может использоваться во всех VBA / VBScripts, как это:
Dim oLib : Set oLib = CreateObject( "myLib.myInterface" )
где myLib - это имя вашего myLib.dll.