Имеется надстройка Excel (файл .xlam с некой пользовательской функцией). И есть обычная книга Excel с поддержкой макросов (.xlsm). В окне редактора кода подключаю к этому файлу данную надстройку через Tools->References. Надстройка появляется в дереве файлов слева, функция из этой надстройки успешно работает в в книге. Сохраняем книгу, закрываем, открываем - надстройка пропадает, пользовательская функция, очевидно, не работает.
Что не так? Смотрел в параметрах Excel, есть некие пункты про доверенные источники надстроек и т.п., но прямой связи не увидел.
Детали: Excel 2016; файл надтройки находится на сетевом диске; подключать надстройку через Разработчик->Надстройки не вариант, т.к. файлом предполагается что будет пользоваться большой круг пользователей, в том числе не специалистов (не бегать же всем показывать, как и откуда подключать надстройку); прописывать пользовательскую функцию непосредственно в книге тоже не вариант, так как планируется использовать ее в нескольких файлах, и при необходимости редактировать централизовано (отредактировал функцию в надстройке - во всех файлах где она подключена все изменилось), а так же добавлять какие-то новые функции.
При загрузке Excel, загружаются и подключенные надстройки. В Вашем случае, если надстройка недоступна (не работает сеть, файл уже используется и т.д.), то Excel отключит надстройку и включить её можно будет только вручную.
Варианты решения:
1. Копирование скриптом актуальной версии надстройки в локальную папку надстроек Excel;
2. При открытии Excel - fвтозапуск макроса, подключающего надстройку из сетевой папки;
3. Использование других видов надстроек, где сетевое развёртывание уже есть "в комплекте". Например VSTO.