Как настроить определяемые пользователем функции в надстройках Excel (Excel 2007) для работы с автозаполнением? - PullRequest
3 голосов
/ 09 ноября 2010

Я создал надстройку, и когда я использую ее в окне выражений, автозаполнение не работает. Я вижу их, когда нажимаю на кнопку «f» функций под пользовательскими функциями. Мне бы хотелось, чтобы автозаполнение работало с ними, чтобы мне не приходилось запоминать их имена или каждый раз нажимать кнопку «f».

Ответы [ 2 ]

1 голос
/ 04 августа 2011

Хотя это старая ветка, похоже, там очень мало решений.Я нашел пример в Службах разработки приложений JKP, первоначально найденных Лораном Лонгре.Ниже приводится объяснение одного предостережения:

Недостаток этого метода трюка заключается в том, что фактически перерегистрируется функция внутри используемой библиотеки DLL, которая может использоваться любой программой

http://www.jkp -ads.com / Articles / RegisterUDF01.asp

Это решение только регистрирует / отменяет регистрацию UDF, но пользователю все равно придется сохранять рабочую книгу как.xlam и установите надстройку.Я использовал следующий код для автоматической установки текущей книги в качестве надстройки Excel (если вы собираетесь обновлять надстройку, вам нужно будет добавить несколько сообщений об ошибках, чтобы определить, установлено ли надстройка уже).

'Saves current workbook as an .xlam file
sFile = Application.LibraryPath & "\" & "name_of_addin" & ".xlam"
ThisWorkbook.SaveAs sFile, 55
ThisWorkbook.IsAddin = True
'Adds temporary workbook
Workbooks.Add
'Installs the addin
Set oAddin = AddIns.Add(sFile , False)
oAddin.Installed = True
'Closes temporary workbook
Workbooks(Workbooks.Count).Close
MsgBox ("Installation Successful.  Please close Excel and restart.")
'Closes workbook without saving
Workbooks(sFirstFile).Close False
1 голос
/ 10 ноября 2010

AFAIK В современных версиях Excel, включая Excel 2010, нет возможности (к сожалению) сделать автозаполнение UDF.Есть способы добавить описания аргументов и справку для мастера функций.

...