powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VB6 ActiveX DLL не работает в Экселе
10 сообщений из 35, страница 2 из 2
VB6 ActiveX DLL не работает в Экселе
    #39127594
hclubmk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Признаюсь, ни DLL ни EXE, построенные в VB6, у меня в версии x64 как надстройку увы подключить не удалось (хотя в x86 без проблем). В референсах - пожалуйста, но при обращении к функционалу DLL поднимается ошибка 429 (ActiveX component can't create object) - о чем впрочем говорилось выше, а EXE вполне нормально работает, нет проблем ни с обращением к функциям, ни с поднятием событий (хотя, я в свою очередь, могу неправильно трактовать поставленный вопрос)

The_Prist, а чем распространение ActiveX EXE, в сравнении с вариантом DLL - неудобнее в плане распространения?

Eolt, случаи то бывают разные
...
Рейтинг: 0 / 0
VB6 ActiveX DLL не работает в Экселе
    #39127600
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как настройка и не будут работать, читайте выше, уже всё обсудили
...
Рейтинг: 0 / 0
VB6 ActiveX DLL не работает в Экселе
    #39127601
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*надстройка
...
Рейтинг: 0 / 0
VB6 ActiveX DLL не работает в Экселе
    #39127614
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hclubmkа чем распространение ActiveX EXE, в сравнении с вариантом DLL - неудобнее в плане распространения?Я имел ввиду именно это:
The_Pristесли надстройка ориентирована на работу внутри приложения(функции, работа с активными ячейками и перехват событий )
Я так понял, что предлагается вынести функционал в отдельное приложение, а не как надстройку к Excel. Вот именно это не всегда удобно. Есть у меня надстройка, которая координатное выделение делает(выделяет строку и столбец на пересечении активной ячейки). И она должна отслеживать событие Worksheet_Change любой открытой книги Excel, чтобы при каждом выделении подсвечивать строку и столбец. Как это сделать из exe? видимо, если и можно, то костыли будут ой какие неудобные.
Вот именно о таких моментах речь.
Поэтому как у большинства мнение такое: всегда надо исходить из цели приложения. Если нет необходимости вызывать функционал напрямую из Excel и тому подобное - то проще, конечно, сделать это приложение отдельным и не заморачиваться с регистрацией в разных ОС.
Или уж тогда выбрать не VB6...
...
Рейтинг: 0 / 0
VB6 ActiveX DLL не работает в Экселе
    #39127652
hclubmk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_Prist Есть у меня надстройка, которая координатное выделение делает(выделяет строку и столбец на пересечении активной ячейки). И она должна отслеживать событие Worksheet_Change любой открытой книги Excel, чтобы при каждом выделении подсвечивать строку и столбец. Как это сделать из exe? Здесь я так понимаю речь об .XLAM, а вовсе не о надстройке .DLL, которая сравнивается с .EXE, и соответственно, план задачи совсем другой.
...
Рейтинг: 0 / 0
VB6 ActiveX DLL не работает в Экселе
    #39127716
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hclubmk,

Нет. Это можно делать и через DLL, не только XLA или XLAM. Я имел ввиду именно DLL. А план задач может совпадать. На XLAM многое недоступно, что можно сделать из DLL.
...
Рейтинг: 0 / 0
VB6 ActiveX DLL не работает в Экселе
    #39127765
MrVoid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо за ответы!
Я хотел эксперимента ради сделать прогресс бар, которого нет в Офисном VBA, и пихнуть его в отдельный DLL.
Может быть, действительно, сделать его в XLAM'е?
...
Рейтинг: 0 / 0
VB6 ActiveX DLL не работает в Экселе
    #39127786
hclubmk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_PristНет. Это можно делать и через DLL, не только XLA или XLAM. Я имел ввиду именно DLL. Вот лично мне не помешал бы HowTo, особенно если это реализуется на VB6.
...
Рейтинг: 0 / 0
VB6 ActiveX DLL не работает в Экселе
    #39127803
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hclubmk,

здесь уже звучал самый оптимальный вариант(на мой взгляд): Visual Studio Tools for Office. В сети примеров куча. Но на VB6 такого не сделать, насколько я знаю, поэтому вряд ли заинтересует. Я сам на VB и мысли не держал такое делать, поэтому даже не копал в этом направлении, делал сразу на NET - там проще с этим делом.
Можно и без VSTO, конечно делать(но опять же на NET) - но с регистрацией библиотеки класса больше мороки, хотя не критично. Грабли другие - на 64-битной системе иначе осуществляется регистрация классов функций для вызова их непосредственно с листа Excel. И делать версию библиотеки для 32 и 64 бит становится чуть мучительнее :-) Поэтому VSTO предпочтительнее - там все это делается значительно проще. Ну и в дальнейшей разработке и поддержке тоже становится попроще.
Единственный нюанс - наличие Framework. Но при нынешних ПК это вообще не критично, я считаю. Главное сразу выбрать версию в зависимости от планируемого функционала. Где-то и 2-я за глаза, а где-то лучше хотя бы 3.5 взять за основу.
...
Рейтинг: 0 / 0
VB6 ActiveX DLL не работает в Экселе
    #39127810
hclubmk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_Prist,

Понял, спасибо.
...
Рейтинг: 0 / 0
10 сообщений из 35, страница 2 из 2
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VB6 ActiveX DLL не работает в Экселе
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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