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

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Sokl
Сообщения: 449
Зарегистрирован: 12 сен 2005, 08:52
Откуда: ОМ

19 май 2006, 11:24

А как мне справку написать к своей программе (в надстройке есть, например, пользовательская функция, а Эксель позволяет делать при вводе функции "Справка по этой функции").

Да и вообще - никогда не работ с hlp (или chm?)? Как это делать? :shock:
Sokl
Сообщения: 449
Зарегистрирован: 12 сен 2005, 08:52
Откуда: ОМ

23 май 2006, 05:36

Сам разобрался! Там всё просто. Только нужно как-то теперь заставить работать программку для создания hlp (chm), а то она денег просит, а у меня их нет! :)
sergvk
Сообщения: 128
Зарегистрирован: 21 июн 2005, 14:33
Откуда: Крым, Феодосия
Контактная информация:

23 май 2006, 09:53

раз так, то было бы неплохо описать этот процесс. Данный вопрос возникает давольно часто. И его можно было бы потом перенести в полезные советы
Avsha
Сообщения: 664
Зарегистрирован: 08 сен 2005, 13:47
Откуда: KZ

23 май 2006, 10:32

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

Предложение... :wink:
Cамая лучшая и простая справка - в виде файла Word с относительными гиперссылками на любые типы документов, располагающихся в рядом лежащей папке \Docs.
... ну можно еще в PDF перегнать этот Wordo-вский файл.
Аватара пользователя
Игорь Акопян
Сообщения: 1419
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

23 май 2006, 12:24

как-то давно использовал Help&Manal.... Хотя с ним тоже надо разбираться, он встраивается в Ворд, удобная штуковина
Изображение
Sokl
Сообщения: 449
Зарегистрирован: 12 сен 2005, 08:52
Откуда: ОМ

24 май 2006, 06:11

Я использовал 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" (безопасность макросов)!

Вот такой пока у меня тупик!
Sokl
Сообщения: 449
Зарегистрирован: 12 сен 2005, 08:52
Откуда: ОМ

30 май 2006, 13:35

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

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

Да и вообще... Для стандартных функций рабочего листа Эксель (при вводе функции через Мастер функций) в окошке Аргументы выводит описания для каждого аргумента функции. Это реализуемо для пользовательских функций рабочего листа??? :cry:
Аватара пользователя
Aent
Сообщения: 1108
Зарегистрирован: 01 окт 2006, 14:52
Откуда: Saratov,Russia
Контактная информация:

02 окт 2006, 15:58

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

03 окт 2006, 06:41

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

2. Не просто можно, а нужно пользоваться Application.MacroOption, особенно если функция определена в надстройке и поэтому у пользователся может располагаться в "любой" папке (путь к hlp файлу нужно определять при загрузке книги). Ясен.
Аватара пользователя
Aent
Сообщения: 1108
Зарегистрирован: 01 окт 2006, 14:52
Откуда: Saratov,Russia
Контактная информация:

03 окт 2006, 13:12

Извините. Проглядел что речь шла об описании аргументов а не функции :(
Боюсь, что для справки по аргументам придётся делать свой Мастер :(
Андрей Энтелис,
aentelis.livejournal.com
Ответить