2015-06-23 3 views
0

Я пытаюсь включить собственное имя файла электронной таблицы в электронной почте тело динамически создан с помощью следующей формулы, включающей в себя функции 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? 

Ссылки:

ответ

0

Follow this answer из последнего звена в вопросе (не используйте формулу HYPERLINK, а функция изменяет вручную созданную ссылку в ячейке).

+0

В зависимости от настроек эта ячейка/функция может не оцениваться автоматически. Принуждение этого для ячейки с помощью 'Calculate', похоже, не всегда срабатывает при вызове в событии/функции Workbook.BeforeSave. Изменение настроек там работает для меня, например. http://stackoverflow.com/a/29094142/1619432 – handle

Смежные вопросы