Вопрос
У меня есть надстройка XLL для Excel, и теперь другая команда хочет использовать ту же функциональность в своем проекте (неуправляемый C ++). Есть ли способ взаимодействия с этим XLL напрямую из C ++?
Решение
Являетесь ли вы XLL неуправляемым или неуправляемым кодом?
Насколько я знаю, неуправляемый файл C ++ XLL на самом деле является DLL, которая экспортирует определенные методы, вызываемые Excel.
Если в вашем XLL есть файл .def, возможно, вы могли бы добавить метод, который будет вызываться другой командой.
Другие советы
Вы можете использовать GET.WORKSPACE (44), чтобы получить список надстроек и их сигнатур аргументов. Если у вас нет листов макроса hablo, загрузите xllutility.xll из http://sdrv.ms/JtaMIV и позвоните = GET_WORKSPACE (44) в клетке. (Обратите внимание на подчеркивание.)
Второй столбец - это имя функции, а третий - список аргументов, закодированный, как описано здесь: http://msdn.microsoft.com/en-us/library/office/bb687900.aspx
Используйте удобный файл Adjust.xll по ссылке выше, чтобы настроить вывод на правильный размер.