Надстройки XLAM / XLA: есть ли лучший способ?

Этот пост об установке 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, если они загружены, и возвращать #VALUEs в противном случае?

7
задан Community 9 July 2018 в 19:34
поделиться