Я пытаюсь включить собственное имя файла электронной таблицы в электронной почте тело динамически создан с помощью следующей формулы, включающей в себя функции VBA модуль (?):Функция MS Excel HYPERLINK() с динамическим link_location не работает - почему?
=HYPERLINK("mailto:"&"address"&"?subject="&B7&"&body="&B7&FullName(); "E-Mail")
Функция является
Function FullName() As String
FullName = ThisWorkbook.FullName()
End Function
в «модуль» документа (я не имею понятия о VBA: ALT + F11, Insert Module. По-видимому, это также называется пользовательской функцией (UDF)).
Функция работает сама по себе в клетке, формула HYPERLINK работает без добавления к его link_location функции, но вместе (как описано выше), он вычисляет
#NAME?
Ссылки:
- Офисные документы: HYPERLINK function
- , возможно, связано, но несколько обратная проблема: VBA to open Excel hyperlink does not work when hyperlink generated with a formula
- Hyperlink custom link_location formula не является динамическим
- Очень похожая проблема: Creating a custom hyperlink function in excel
В зависимости от настроек эта ячейка/функция может не оцениваться автоматически. Принуждение этого для ячейки с помощью 'Calculate', похоже, не всегда срабатывает при вызове в событии/функции Workbook.BeforeSave. Изменение настроек там работает для меня, например. http://stackoverflow.com/a/29094142/1619432 – handle