2

В нашей компании у нас есть много разных файлов Excel для отслеживания наших проектов. Мы хотели бы реализовать некоторые функции VBA в этих файлах, написанных нами, ИТ-отделом. Мы хотим, чтобы мы могли написать функции, а затем поместить их в какую-то центральную библиотеку на сервере, чтобы пользователи могли использовать их во всех существующих и будущих файлах Excel без каких-либо дополнительных знаний о Excel.
В идеале они использовали бы эти функции так же, как теперь они используют существующие функции Excel, такие как Sum(), Avg(), Dayofweek(), ... Таким образом, они просто напечатали бы в cell = VBAFunction1(), и функция будет использоваться.

Есть ли способ централизовать это, или нам придется копировать каждую функцию в раздел VBA каждого листа Excel?

1 ответ1

1

Вы можете написать свою библиотеку как COM DLL в C #, VB.NET или более старых VB. Эта библиотека должна быть зарегистрирована в regsvr32 и может использоваться во всех сценариях VBA / VBS, например:

Dim oLib : Set oLib = CreateObject( "myLib.myInterface" )

где myLib - это имя вашего myLib.dll.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .