Моя Справка к моему VBA
Модератор: Naeel Maqsudov
А как мне справку написать к своей программе (в надстройке есть, например, пользовательская функция, а Эксель позволяет делать при вводе функции "Справка по этой функции").
Да и вообще - никогда не работ с hlp (или chm?)? Как это делать? :shock:
Да и вообще - никогда не работ с hlp (или chm?)? Как это делать? :shock:
Сам разобрался! Там всё просто. Только нужно как-то теперь заставить работать программку для создания hlp (chm), а то она денег просит, а у меня их нет! 

Набираем в поисковике "создание chm" и становиься плохо от объема inf-ы :shock:Да и вообще - никогда не работ с hlp (или chm?)? Как это делать?
сам пробовал бесплатный HTML Help Workshop - нудно...
последнее, что читал ...
http://dk.compulenta.ru/offline/2004/103/168015/
Касса "справок" не дает
Предложение...
Cамая лучшая и простая справка - в виде файла Word с относительными гиперссылками на любые типы документов, располагающихся в рядом лежащей папке \Docs.
... ну можно еще в PDF перегнать этот Wordo-вский файл.
- Игорь Акопян
- Сообщения: 1440
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
как-то давно использовал Help&Manal.... Хотя с ним тоже надо разбираться, он встраивается в Ворд, удобная штуковина

Я использовал Help & Manual, пробовал Help Developing Studio (обе программы Shareware) - впечатление приятное (только денег нет на их покупку)!
Пробовал бесплатные (Shalom Help, и ещё чего-то там, написанное на Delphях) - впечатление не приятное (зато денег не нужно).
Присоединять файл справки (hlp) к VBA проекту (особенно надстройке) получается не очень хорошо. Есть два варианта:
1. Должен быть прописан путь к этому файлу (в свойствах проекта - через редактор VBA) - абсолютный путь это плохо;
2. Можно программно менять путь к файлу справки по событию открытия книги (например, так ThisWorkbook.VBProject.HelpFile = ThisWorkbook.Path & "\my.hlp"), НО! В этом случае для Экселя 11.0 должен быть установлен флажок "Доверять доступ к Visual Basic Project" (безопасность макросов)!
Вот такой пока у меня тупик!
Пробовал бесплатные (Shalom Help, и ещё чего-то там, написанное на Delphях) - впечатление не приятное (зато денег не нужно).
Присоединять файл справки (hlp) к VBA проекту (особенно надстройке) получается не очень хорошо. Есть два варианта:
1. Должен быть прописан путь к этому файлу (в свойствах проекта - через редактор VBA) - абсолютный путь это плохо;
2. Можно программно менять путь к файлу справки по событию открытия книги (например, так ThisWorkbook.VBProject.HelpFile = ThisWorkbook.Path & "\my.hlp"), НО! В этом случае для Экселя 11.0 должен быть установлен флажок "Доверять доступ к Visual Basic Project" (безопасность макросов)!
Вот такой пока у меня тупик!
Вот вопрос:
ObjectBrowser - выбрать свой проект - в Classes выбрать свой модуль - в Members выбрать свою функцию - правая кнопка на своей функции - Properties... - Задать Description и Help Context ID - нажать Ок - опять правой кнопкой - опять Properties... - В Description нет ничего и в Help Context ID нет ничего!
Почему? Кто-нибудь знает? Как сделать, чтобы было и оставалось?
Да и вообще... Для стандартных функций рабочего листа Эксель (при вводе функции через Мастер функций) в окошке Аргументы выводит описания для каждого аргумента функции. Это реализуемо для пользовательских функций рабочего листа???
ObjectBrowser - выбрать свой проект - в Classes выбрать свой модуль - в Members выбрать свою функцию - правая кнопка на своей функции - Properties... - Задать Description и Help Context ID - нажать Ок - опять правой кнопкой - опять Properties... - В Description нет ничего и в Help Context ID нет ничего!
Почему? Кто-нибудь знает? Как сделать, чтобы было и оставалось?
Да и вообще... Для стандартных функций рабочего листа Эксель (при вводе функции через Мастер функций) в окошке Аргументы выводит описания для каждого аргумента функции. Это реализуемо для пользовательских функций рабочего листа???
- Aent
- Сообщения: 1129
- Зарегистрирован: 01 окт 2006, 14:52
- Откуда: Saratov,Russia
- Контактная информация:
Да. Легко.Для стандартных функций рабочего листа Эксель (при вводе функции через Мастер функций) в окошке Аргументы выводит описания для каждого аргумента функции. Это реализуемо для пользовательских функций рабочего листа???
Жмём Alt-F8 (Или Сервис->Макрос->Макросы). Попадаем в диалог запуска макросов. Но в нём будут отображаться только
подпрограммы (SUB), а не функции (FUNCTION).
ВВОДИМ В КАЧЕСТВЕ ИМЕНИ МАКРОСА ИМЯ НАШЕЙ ФУНКЦИИ И ЖМЁМ ПАРАМЕТРЫ.
Заполняем поле описание и жмём ОК.

Кроме того, рекомендую посмотреть метод MacroOption объекта Application. C его помощью можно относить свои функции листа к
той или инной категории. Причём категории с 15 по 32 в Excel 2003 пользовательские ...
HelpFile и HelpContextID задаются то же там.
А выполнить соответствующий квалифицирующий функцию оператор можно и из окна Immediate.
1. Не получается... :? Описание функции сделать могу, а описание каждого из аргументов не получается.Aent писал(а):Да. Легко.Для стандартных функций рабочего листа Эксель (при вводе функции через Мастер функций) в окошке Аргументы выводит описания для каждого аргумента функции. Это реализуемо для пользовательских функций рабочего листа???
2. Не просто можно, а нужно пользоваться Application.MacroOption, особенно если функция определена в надстройке и поэтому у пользователся может располагаться в "любой" папке (путь к hlp файлу нужно определять при загрузке книги). Ясен.