Страница 1 из 2

Моя Справка к моему VBA

Добавлено: 19 май 2006, 11:24
Sokl
А как мне справку написать к своей программе (в надстройке есть, например, пользовательская функция, а Эксель позволяет делать при вводе функции "Справка по этой функции").

Да и вообще - никогда не работ с hlp (или chm?)? Как это делать? :shock:

Добавлено: 23 май 2006, 05:36
Sokl
Сам разобрался! Там всё просто. Только нужно как-то теперь заставить работать программку для создания hlp (chm), а то она денег просит, а у меня их нет! :)

Добавлено: 23 май 2006, 09:53
sergvk
раз так, то было бы неплохо описать этот процесс. Данный вопрос возникает давольно часто. И его можно было бы потом перенести в полезные советы

Добавлено: 23 май 2006, 10:32
Avsha
Да и вообще - никогда не работ с hlp (или chm?)? Как это делать?
Набираем в поисковике "создание chm" и становиься плохо от объема inf-ы :shock:
сам пробовал бесплатный HTML Help Workshop - нудно...
последнее, что читал ...
http://dk.compulenta.ru/offline/2004/103/168015/
Касса "справок" не дает

Предложение... :wink:
Cамая лучшая и простая справка - в виде файла Word с относительными гиперссылками на любые типы документов, располагающихся в рядом лежащей папке \Docs.
... ну можно еще в PDF перегнать этот Wordo-вский файл.

Добавлено: 23 май 2006, 12:24
Игорь Акопян
как-то давно использовал Help&Manal.... Хотя с ним тоже надо разбираться, он встраивается в Ворд, удобная штуковина

Добавлено: 24 май 2006, 06:11
Sokl
Я использовал 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" (безопасность макросов)!

Вот такой пока у меня тупик!

Добавлено: 30 май 2006, 13:35
Sokl
Вот вопрос:
ObjectBrowser - выбрать свой проект - в Classes выбрать свой модуль - в Members выбрать свою функцию - правая кнопка на своей функции - Properties... - Задать Description и Help Context ID - нажать Ок - опять правой кнопкой - опять Properties... - В Description нет ничего и в Help Context ID нет ничего!

Почему? Кто-нибудь знает? Как сделать, чтобы было и оставалось? :cry:

Да и вообще... Для стандартных функций рабочего листа Эксель (при вводе функции через Мастер функций) в окошке Аргументы выводит описания для каждого аргумента функции. Это реализуемо для пользовательских функций рабочего листа??? :cry:

Добавлено: 02 окт 2006, 15:58
Aent
Для стандартных функций рабочего листа Эксель (при вводе функции через Мастер функций) в окошке Аргументы выводит описания для каждого аргумента функции. Это реализуемо для пользовательских функций рабочего листа???
Да. Легко.
Жмём Alt-F8 (Или Сервис->Макрос->Макросы). Попадаем в диалог запуска макросов. Но в нём будут отображаться только
подпрограммы (SUB), а не функции (FUNCTION).
ВВОДИМ В КАЧЕСТВЕ ИМЕНИ МАКРОСА ИМЯ НАШЕЙ ФУНКЦИИ И ЖМЁМ ПАРАМЕТРЫ.
Заполняем поле описание и жмём ОК. :)
Кроме того, рекомендую посмотреть метод MacroOption объекта Application. C его помощью можно относить свои функции листа к
той или инной категории. Причём категории с 15 по 32 в Excel 2003 пользовательские ...
HelpFile и HelpContextID задаются то же там.
А выполнить соответствующий квалифицирующий функцию оператор можно и из окна Immediate.

Добавлено: 03 окт 2006, 06:41
Sokl
Aent писал(а):
Для стандартных функций рабочего листа Эксель (при вводе функции через Мастер функций) в окошке Аргументы выводит описания для каждого аргумента функции. Это реализуемо для пользовательских функций рабочего листа???
Да. Легко.
1. Не получается... :? Описание функции сделать могу, а описание каждого из аргументов не получается.

2. Не просто можно, а нужно пользоваться Application.MacroOption, особенно если функция определена в надстройке и поэтому у пользователся может располагаться в "любой" папке (путь к hlp файлу нужно определять при загрузке книги). Ясен.

Добавлено: 03 окт 2006, 13:12
Aent
Извините. Проглядел что речь шла об описании аргументов а не функции :(
Боюсь, что для справки по аргументам придётся делать свой Мастер :(