Как сделать вызов XLAM UDF переносимым? - PullRequest
1 голос
/ 15 октября 2011

Кажется, что когда я вызываю UDF в файле XLAM, путь к файлу XLAM внедряется в электронную таблицу.Когда я открываю электронную таблицу с другого компьютера (на котором установлена ​​та же надстройка XLAM, только что установленная по другому пути), Excel жалуется: «Эта книга содержит ссылки на другие источники данных ...».проблема с UDF в XLL.Есть ли способ обойти это?

1 Ответ

2 голосов
/ 20 октября 2011

Такое поведение является следствием того, как пользовательские функции надстройки реализованы в Excel.

Существует три подхода к решению проблемы:

Используйте установщик, который задает определенный путь

Добавьте некоторый код в XLAM, который проверяет ссылки для каждой открытой книги, и, если ссылка на ваш XLAM, но по другому пути, он находит и заменяет, чтобы путь исправлен.

Преобразование ваших пользовательских функций XLAM в XLL (если VBA преобразовать в VB.Net и использовать Excel DNA или Addin Express для создания VB.Net XLL)

...