Це питання було задано і раніше , але кожен раз, коли прийнята відповідь - це просто відставка надати описи функцій за допомогою Application.MacroOptions
( VBA6 ) ( VBA7 ), але ця інформація насправді не з'являється як підказка, тому це не вирішує мою проблему.
Мета
Ми всі бажаємо - мати можливість визначати власні функції будь-якими способами (VBA, VSTO або надбудова COM) та надавати користувачеві перевагу спливаючого опису функції та її параметрів, як з'являється для кожної вбудованої функції Excel, як вбудованої, так і в рядку формул:
Широко прийнята відповідь на цю потребу полягає в тому, що це не можливо для спеціальних функцій, але я хочу оскаржити цю віру.
Проблема
В даний час найкраще, кого я бачив, - це визначити функції (часто використовуючи вищевказаний виклик MacroOptions), щоб при відкритті діалогового вікна функцій (кнопка fx на панелі формул) їх описи функцій та параметрів відображалися нижче:
Як бачите, це складна функція з багатьма параметрами. Якщо користувач не знає про цей діалог "аргументи функції" та як його вивести, а натомість знайомий лише зі стандартною підказкою Excel, він побачить лише ім'я формули та додаткову допомогу:
За допомогою яких у них немає шансів правильно надати необхідні параметри. (Без читання документації, що, звичайно, жоден користувач ніколи не робить.)
Тепер користувач живлення може знати, що, ввівши Ctrl+ Shift+ A, їм буде надано автоматично виконаний список параметрів функції на зразок:
Але ми, звичайно, маємо ту саму проблему, що і вище, яка полягає в тому, що стандартні користувачі програми excel будуть використовуватись лише для першого типового зображення та, ймовірно, ніколи не дізнаються цю функцію.
До цього моменту повинно бути зрозуміло, чому цього недостатньо, і ми хочемо того, що має кожна вбудована функція - вбудована підказка інструментів, яка розповідає користувачеві, як користуватися функцією.
Дражня
Спочатку я, можливо, був переконаний, що це просто неможливо, крім випадкових функцій програми Excel. Надбудови та VBA - це функції розширення, і ця підказка може просто не бути розширюваною. Але цю теорію оскаржує існування надбудови Аналітичний інструментарій. Звичайно, вона вбудована в Microsoft, але ANALYS32.xll - це окрема надбудова XLL, як і ті, які можна виробляти в VB, C, C ++ та C #. Звичайно, коли цей XLL завантажується в додаток, функції, які він робить доступними, мають ті самі підказки для вбудованих функцій excel:
Безумовно, якщо ця інформація якось закодована у цьому XLL-файлі та передана в Excel, є спосіб його копіювання за допомогою власних надбудов? Зараз я зараз хочу почати трохи навчатись декомпіляції та бачити, чи зможу я переробити інженер все, що відбувається в пакеті інструментів для аналізу.
Як ви можете допомогти
Я майже впевнений, що я дослідив всю наявну в цьому розпорядженні інформацію про цю проблему. Якщо хтось знає щось, я не знаю, що могло б допомогти у цьому, проте, не соромтесь звучати. Я дуже незнайомий із зворотними інженеріями, складеними dlls / xlls, тому, якщо хтось відчуває, як вискакує, відкрийте свою локальну копію Analysis32.xll і з'ясовуючи, що відбувається з його спеціальними визначеннями функцій, я був би дуже зобов'язаний. В іншому випадку я просто продовжуватимусь копатись до цього, поки не вдаруся по всіх тупиках і повідомлю про те, що знаходжу.