powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
22 сообщений из 22, страница 1 из 1
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
    #35183538
kefi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть DLL (my.dll), сделанная на VB.
Цепляю ее через Refrences к MsOffice(excel,word,access) приложениям, чтобы в их VBA редакторе вызывать функции этой DLL.

Как и с помощью какого инструмента можно сделать контекстный Help к функциям этой DLL, чтобы при нажатии горячей клавиши выходила подсказка по той функции, на которой стоит курсор в VBA редакторе. Желательно , чтобы Help получился не хуждей функциональности , чем *.chm.
...
Рейтинг: 0 / 0
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
    #35183542
kefi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно ли аналогично сделать интегрированный Help для Visual Studio 6 ?
...
Рейтинг: 0 / 0
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
    #35183613
Фотография Бенедикт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kefi,
ну так и сделай CHM.
Ошибка вызова справки(рис).
...
Рейтинг: 0 / 0
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
    #35183820
kefi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Бенедикт>
Ты , imho, не понял - мне нужно , чтобы help был интегрирован в редактор VBA кода , а не в готовое run-time приложение. Т.е. чтобы он в designe-time работал.
Как я могу свой CHM итегрировать в редактор VBA кода Excel'я ,например, чтобы при нажатии F1(или другой какой горячей клавиши), когда курсор над словом myvb.dll. MyFunction (123) вылезал Help по этой моей функции MyFunction() из моей DLL myvb.dll ?
...
Рейтинг: 0 / 0
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
    #35184316
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: kefi
> 2 Бенедикт>
> Ты , imho, не понял - мне нужно , чтобы help был интегрирован в
> редактор VBA кода , а не в готовое run-time приложение. Т.е. чтобы он в
> designe-time работал.
> Как я могу свой CHM итегрировать в редактор VBA кода Excel'я
> ,например, чтобы при нажатии F1(или другой какой горячей клавиши), когда
> курсор над словом myvb.dll.MyFunction(123) вылезал Help по этой моей
> функции MyFunction() из моей DLL myvb.dll ?

При создании своей ДЛЛ сразу интегрируй справку. В VB6 меню Tools ->
Procedure Attributes вот там и привязывай свой хелп :)
А в VBA он уже подтянется, если все правильно сделаешь :)

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
    #35184552
kefi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Игорь Горбонос
При создании своей ДЛЛ сразу интегрируй справку. В VB6 меню Tools ->
Procedure Attributes вот там и привязывай свой хелп :)


Нет, спасибо, это я делаю, этого мне недостаточно - там всего-то ничего (пара предложений) умещается , остальное обрезается,
мне нужен полноценный, многостраничный и контекстно зависимый Help . короче, как описано в первом посте, повторять третий раз уже ,я думаю,не стоит.
...
Рейтинг: 0 / 0
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
    #35184704
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: kefi
> Игорь Горбонос
>
> При создании своей ДЛЛ сразу интегрируй справку. В VB6 меню
> Tools ->
> Procedure Attributes вот там и привязывай свой хелп :)
>
>
>
> Нет, спасибо, это я делаю, этого мне недостаточно - там всего-то
> ничего (пара предложений) умещается , остальное обрезается,
> мне нужен полноценный, многостраничный и контекстно зависимый Help .
> короче, как описано в первом посте, повторять третий раз уже ,я думаю,не
> стоит.

А там как раз место для описания функции, а не для многостраничного хелпа,
для справки там есть Project Help File который устанавливается в свойствах
самого проекта, и Help Context ID который отвечает какой раздел справки
показывать при нажании кнопки F1 по этой функции в том-же редакторе VBA.

В первом посте написанно:
"Как и с помощью какого инструмента можно сделать контекстный Help к
функциям этой DLL, чтобы при нажатии горячей клавиши выходила подсказка по
той функции, на которой стоит курсор в VBA редакторе. Желательно , чтобы
Help получился не хуждей функциональности , чем *.chm."

это был ответ на часть:
"чтобы при нажатии горячей клавиши выходила подсказка по той функции, на
которой стоит курсор в VBA редакторе"

на часть вопроса:
"Желательно , чтобы Help получился не хуждей функциональности , чем *.chm."
зависит только от тебя, насколько распишешь, так и будет.

почти первая часть вопроса:
"с помощью какого инструмента можно сделать контекстный Help к функциям этой
DLL"
Бенедикт тебе дал ссылку на пост где sl_play писал с помощью какой программы
он сделал chm-файл. Насколько мне известно это единственный инструмент,
который делает chm-файлы(хотя я других не искал ;) ). Тот же Help&Manual
использует тот компилятор для создания chm-файлов.

И наконец главный вопрос КАК сделать справку :)
здесь
берёшь инструменты и доку по созданию, а
здесь берёшь пример для
акцеса и эксперементируешь или просто читаешь и делаешь ;)

Удачи

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
    #35184944
Фотография Бенедикт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kefi2 Бенедикт>
Ты , imho, не понял - мне нужно , чтобы help был интегрирован в редактор VBA кода , а не в готовое run-time приложение. Т.е. чтобы он в designe-time работал.
Как я могу свой CHM итегрировать в редактор VBA кода Excel'я ,например, чтобы при нажатии F1(или другой какой горячей клавиши), когда курсор над словом myvb.dll. MyFunction (123) вылезал Help по этой моей функции MyFunction() из моей DLL myvb.dll ?Я понял, и дал ссылку, где я расписал тонкий момент - как в .hhp-файле (HTML Help Project) описать контекстные идентификаторы. Игорь Горбонос расписал другие шаги, в частности, привязку к .chm-файлу в свойствах VB-проекта и присвоение контекстных идентификаторов в атрибутах процедур. Оболочка, которую MS предлагает как front-end к компилятору HTML, конечно, не верх эргономичности и стабильности, есть альтернативы от других компаний, но и к ней можно (поплеваться и) приспособиться.
...
Рейтинг: 0 / 0
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
    #35185189
kefi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Игорь Горбонос,Бенедикт>
теперь немного прояснело, спасибо.

Но вот подскажите еще для начала работы
- мне неясен сам принцип использования ContextID:
Я понял , что для всех процедур и методов я должен назначить свои уникальные ContextID - целые больше нуля числа (кстати тоже не сахар работка - несколько сотен функций, можно по ошибке и одинаковые назначить - VB это почему-то позволяет).

Но вот что нужно ставить в свойствах самого проекта в окошечке Project Help Context ID я не пойму - по описанию в MSDN, это ContextID той функции , которая вызовется в F2 Object Browser' е при нажатии клавиши F1
( Project Help Context ID
Lists the context ID for the specific Help topic to be called when the user selects the button while the application’s object library is selected in the Object Browser.
)

От Какой же функции ContextID я должен положить в Project Help COntext ID ? И вообще говоря - зачем он там?
...
Рейтинг: 0 / 0
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
    #35185215
kefi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И еще:
- а как можно будет распространять сделанный Help к моей DLL? Если DLL можно просто зарегестрировать в системе у полььзователя, то как установить там созданный chm хелп, чтобы он был доступен по F1?
...
Рейтинг: 0 / 0
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
    #35185705
Фотография Бенедикт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kefiНо вот подскажите еще для начала работы
- мне неясен сам принцип использования ContextID:
Я понял , что для всех процедур и методов я должен назначить свои уникальные ContextID - целые больше нуля числа (кстати тоже не сахар работка - несколько сотен функций, можно по ошибке и одинаковые назначить - VB это почему-то позволяет).Да. Написание и поддержка документации дело нудное и затратное. Что можно назначить одинаковые - не ошибка, я бы сделал так же, чтобы несколько функций могли ссылаться на одну страницу, например. kefiНо вот что нужно ставить в свойствах самого проекта в окошечке Project Help Context ID я не пойму - по описанию в MSDN, это ContextID той функции , которая вызовется в F2 Object Browser' е при нажатии клавиши F1
( Project Help Context ID
Lists the context ID for the specific Help topic to be called when the user selects the ? button while the application’s object library is selected in the Object Browser.
)

От Какой же функции ContextID я должен положить в Project Help COntext ID ? И вообще говоря - зачем он там?По-моему, чётко написано. Выбираешь в первом выпадающем списке в Object Browser библиотеку и жмёшь кнопку со знаком вопроса или F1. Попадаешь на страницу с идентификатором Project Help Context ID. Он не обязан совпадать с каким-либо контекстным идентификатором функции. Выбираешь в списке членов класса определённый метод (или ставишь курсор в коде), жмёшь F1 - попадаешь на страницу, на которую указывает контекстный идентификатор функции. kefi- а как можно будет распространять сделанный Help к моей DLL? Если DLL можно просто зарегестрировать в системе у полььзователя, то как установить там созданный chm хелп, чтобы он был доступен по F1?Официальная точка зрения такая: Distributing Help with Your Application , а неофициальная такая: клади .chm в один каталог с .dll (при разработке и при инсталляции), в свойствах проекта указывай ИмяФайла.chm без пути.
...
Рейтинг: 0 / 0
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
    #35186142
kefi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще понятнее, спасибо.

Вот только нет ли какой утилитки, чтобы пробежала по всем *.bas,*.cls файлам указанного мной каталога(ов) и расставила бы сама во всех процедурах ContextID, а то вручную несколько сотен функций слишком хлопотно маркировать ?
...
Рейтинг: 0 / 0
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
    #35186201
Фотография Бенедикт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kefi,
не видел. Наверное, это add-in какой-то надо искать или писать.
...
Рейтинг: 0 / 0
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
    #35186206
kefi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще обнаружилась непонятка
- как назначить ContextID классу,чтобы описать класс в общем, ведь в Tools есть только Procedure Attributes, но не Class Attributes?
...
Рейтинг: 0 / 0
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
    #35186249
Фотография Бенедикт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kefi,
да, не совсем понятно, где эта возможность есть в стандартном IDE. Если редакция VB позволяет, то в Add-In Manager можно подключить VB 6 Class Builder Utility, там в свойствах класса можно задать этот атрибут.
...
Рейтинг: 0 / 0
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
    #35188071
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Бенедикт" сообщил/сообщила в новостях следующее:
> Автор: Бенедикт
> kefi,
> да, не совсем понятно, где эта возможность есть в стандартном IDE.
> Если редакция VB позволяет, то в Add-In Manager можно подключить VB 6
> Class Builder Utility, там в свойствах класса можно задать этот атрибут.

А для класса открыть модуль класса в блокноте и руками дописать следующую
строку:
....
Attribute VB_HelpID = 3
....
Option Explicit

Вместо 3 поставить свой идентификатор раздела справки

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
    #35188116
Фотография Бенедикт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос,
да руками-то понятно.

О! Нашёл в IDE. В Object Browser выбрать класс, и в контекстном меню выбрать Properties...
...
Рейтинг: 0 / 0
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
    #35189463
kefi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
БенедиктДа. Написание и поддержка документации дело нудное и затратное.
Чей-то больно много труда получается!
Все же мечты об электровенике не покидают меня :

Коль речь идет об описании программистских процедур , то часто , как правило, уже в самом их коде описан, хотя бы простенько, интерфейс их вызова (цель, смысл параметров etc), необходимый для пользования самому программисту, у меня, например, всегда так, кроме очевидных процедур в 5-10 строк.
А для Help'а именно это и требуется.
Так нельзя ли органично совместить программирование и создание CHM help'a ?
Т.е. Неужели нет в природе утилиты, которая бы обрабатывала бы исходники, вытаскивала оттуда описание интерфейсов и готовила бы набор файлов для генерации CHM (ну наподлобие того, как это делает javadoc) ?
или никто не в курсе такой автоматизации ?

А может есть какие альтернативы CHM help'у с более гуманным отношением к разработчику ?
Я вот до сих пор не понимаю - почему в CHM helpe' запрещено редактирование статей в самом вьювере хелпа, почему-бы некоторым пользователям, например, разработчикам, было бы не разрешить это через пароль ?
...
Рейтинг: 0 / 0
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
    #35190146
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: kefi
> Бенедикт
> Да. Написание и поддержка документации дело нудное и затратное.
>
> Чей-то больно много труда получается!
> Все же мечты об электровенике не покидают меня :

:)

>
> Коль речь идет об описании программистских процедур , то часто , как
> правило, уже в самом их коде описан, хотя бы простенько, интерфейс их
> вызова (цель, смысл параметров etc), необходимый для пользования самому
> программисту, у меня, например, всегда так, кроме очевидных процедур в
> 5-10 строк.
> А для Help'а именно это и требуется.
> Так нельзя ли органично совместить программирование и создание CHM
> help'a ?
> Т.е. Неужели нет в природе утилиты, которая бы обрабатывала бы
> исходники, вытаскивала оттуда описание интерфейсов и готовила бы набор
> файлов для генерации CHM (ну наподлобие того, как это делает javadoc) ?
> или никто не в курсе такой автоматизации ?


Поспрошай на rsdn.ru, там были обсуждения таких приблуд, правда, как ты
понимаешь, для С++. :)

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
    #35191530
Фотография Бенедикт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kefiЧей-то больно много труда получается!
Все же мечты об электровенике не покидают меня :

Коль речь идет об описании программистских процедур , то часто , как правило, уже в самом их коде описан, хотя бы простенько, интерфейс их вызова (цель, смысл параметров etc), необходимый для пользования самому программисту, у меня, например, всегда так, кроме очевидных процедур в 5-10 строк.
А для Help'а именно это и требуется.
Так нельзя ли органично совместить программирование и создание CHM help'a ?
Т.е. Неужели нет в природе утилиты, которая бы обрабатывала бы исходники, вытаскивала оттуда описание интерфейсов и готовила бы набор файлов для генерации CHM (ну наподлобие того, как это делает javadoc) ?
или никто не в курсе такой автоматизации ?Помнится, времена Windows 3.0 попадался C-шный микрософтовский код, где процедуры содержали описания и теги, явно предназначенные для обработки какой-то программой автоматического формирования справочной системы. Думаю, уже тогда идея была сильно не нова. Просто я не интересовался и не знаю аналогичной системы для VB/VBA. Вполне возможно, что у контор, делающих адд-ины, тулзы и т.п. были такие продукты.

kefiА может есть какие альтернативы CHM help'у с более гуманным отношением к разработчику ?
Я вот до сих пор не понимаю - почему в CHM helpe' запрещено редактирование статей в самом вьювере хелпа, почему-бы некоторым пользователям, например, разработчикам, было бы не разрешить это через пароль ?Да, в .hlp была удобная возможность написать свой комментарий к статье. Я почти ничего не смыслю в web-разработке, но думаю, можно написать интегрированную в .chm группу скриптов, которая умела бы создавать, сохранять вводимые тексты во внешнем по отношению к .chm хранилище, и показывать их. Поспрашивай на соответствующих форумах. Если будут результаты, кинь ссылки сюда, пожалуйста.
...
Рейтинг: 0 / 0
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
    #35192732
kefi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
БенедиктДумаю, уже тогда идея была сильно не нова
Еще бы! потому-то и удивительно, что ничего нет. А может, просто VB уже никому не нужен? Впрочем и ,как я думаю, и в .NET та же картина - создать HELP проблема, в то время как ничего не мешает сделать это оргиничным и удобным делом.

Бенедиктдумаю, можно написать интегрированную в .chm группу скриптов, которая умела бы создавать, сохранять вводимые тексты во внешнем по отношению к .chm хранилище, и показывать их.
Так отдельно - то наверняка можно скриптами, их же MsIE обрабатывает, но это будет файловая свалка , отдельными файлами - некрасиво.
...
Рейтинг: 0 / 0
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
    #35196227
Фотография Бенедикт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kefiТак отдельно - то наверняка можно скриптами, их же MsIE обрабатывает, но это будет файловая свалка , отдельными файлами - некрасиво.Почему во множественном числе, "файлами"? Можно хранить в одном. ЕМНИП, в .hlp так и было.

Вот сегодня мелькнуло на rsdn: VBDOX , но "масса глюков".
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]