Этот пост об установке XLAM без создания ссылок. (Все ненавидят ссылки). Рассмотрим тривиальное дополнение:
Public Function UDF_HELLO(x)
UDF_HELLO = "Hello " & x
End Function
Поместите этот код и ничего больше в модуль и сохраните его как «Hello.xlam» на рабочем столе (а НЕ в папке надстроек Excel по умолчанию). Затем, пока HELLO.XLAM еще открыт, создайте новую книгу XLSX с формулой
=UDF_Hello("world")
в ячейке A1, которая просто отображает «Hello world» в этой ячейке. Сохраните книгу и выйдите из Excel. Теперь, если вы снова откроете книгу без XLAM, Excel будет жаловаться на «ссылки на другие источники ...». Если вы нажмете «Обновить» или «Не обновлять», Excel изменит формулу в ячейке A1 следующим образом:
='C:\Documents and Settings\tpascale\Desktop\Hello.xlam'!UDF_Hello("world")
Очень часто эта «принудительная связь» НЕ желательна. В моей вычислительной среде много специального анализа, и нет смысла навязывать режим установки для каждого XLAM, который мы собираем вместе, чтобы решить проблему дня. Я просто хочу раздать XLAM-файлы пользователям и позволить этим пользователям открывать их, когда они им нужны, БЕЗ необходимости беспокоиться о малейшем ошибочном шаге, который может привести к искажению их формул.
ВОПРОС:
Есть ли способ указать Excel, чтобы НИКОГДА не создавать внешние ссылки для UDF, и просто использовать UDF, если они загружены, и возвращать #VALUE в противном случае?