|
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,578
|
||||||
Как сделать DLL для VBA?19.07.2014, 19:42. Показов 17982. Ответов 106
Метки нет (Все метки)
Что нужно сделать, чтобы сделать DLL?
Я так понимаю, что нужен какой-то язык программирования. Есть кажется VB6. Если сделать DLL, то в него можно просто поместить VBA-код, в том виде, в каком этот код находится в VBA? Или нужно изменить? DLL хочу сделать, чтобы скрывать код макроса. Например, такой код можно будет просто вставить в DLL или надо будет изменить:?
0
|
||||||
| 19.07.2014, 19:42 | |
|
Ответы с готовыми решениями:
106
Как написать Dll для использования в VBA (MS Access 2003) Как создать правильный DLL для использования в VBA макросе CorelDraw |
|
Модератор
|
||
| 20.07.2014, 21:32 | ||
|
Если VBA запущен с администраторскими правами, то у него есть привилегии писать в реестр, отсюда следует что он может зарегить ActiveX DLL/
0
|
||
|
|
|
| 20.07.2014, 21:45 | |
|
Не может быть такого, скорее всего неправильно указан путь
кстати путь должен для Shell быть в двойных кавычках call Shell("RegSvr32 /s /u ""C:\Моя.dll""") для второго примера с API, не уверен, я тестил на своей системе но судя по всему тоже не должно вызывать проблем если все правильно указанно
0
|
|
|
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,578
|
|
| 20.07.2014, 21:45 [ТС] | |
|
The trick, у меня Excel запускается не с администраторскими правами.
Сейчас открыл Excel с администраторскими правами и зарегистрировал dll-файл таким образом:
0
|
|
|
Модератор
|
|||
| 20.07.2014, 21:48 | |||
|
К чему я это - нужно анализировать код, а не тупо копировать. В ближайшее время тот код отправится на доработку. Добавлено через 29 секунд
0
|
|||
|
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,578
|
|
| 20.07.2014, 21:50 [ТС] | |
|
Антихакер32, я подразумевал, что второй пример у меня не работает. Но первый тоже не сработал. Нужно правы дополнительные в "Windows 7".
0
|
|
| 20.07.2014, 21:50 | |
|
0
|
|
|
Модератор
|
|
| 20.07.2014, 21:52 | |
|
Скрипт, ты можешь поступить так: отладить у себя эту DLL. Написать приложение (небольшое), которое будет регистрировать твою DLL и запускать (книгу, документ, БД и т.д.). При использовании манифеста и обработкой нужных функций ты сможешь правильно зарегистрировать, в случае неудачи - отменить запуск.
Вот еще вариант. Декларируешь в коде VBA эту DllRegisterServer и вызываешь - в случае удачи (значит библиотека зарегистрирована) CreateObject, иначе пишешь сообщение о невозможности запуска.
0
|
|
|
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,578
|
|
| 20.07.2014, 22:07 [ТС] | |
|
The trick, смысл такой, что в "Windows 7" только пользователь компьютера может разрешить регистрацию dll?
Мне нужно сделать exe-файл, чтобы появилось окно, с помощью которого пользователь зарегистрирует библиотеку с правами администратора?
0
|
|
|
|
||
| 20.07.2014, 22:10 | ||
|
Вот хорошая статья есть
http://support.microsoft.com/kb/173407/ru Добавлено через 3 минуты отрывок того текста
0
|
||
|
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,578
|
|
| 20.07.2014, 22:21 [ТС] | |
|
Антихакер32, попробую разобраться в этой статье. Я сегодня раза 3 её читал, но так и не понял. Видимо, надо не читать, а сразу делать, что там написано.
0
|
|
|
|
||||||
| 20.07.2014, 22:26 | ||||||
|
Пробовал конечно, работает
0
|
||||||
|
Модератор
|
|||
| 20.07.2014, 22:32 | |||
|
Добавлено через 2 минуты
0
|
|||
|
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,578
|
|
| 20.07.2014, 22:32 [ТС] | |
|
Антихакер32, в сообщении #94 ничего не понятно.
Что такое "DllRegisterServer"? Зачем Вы выложили этот код? Что Вы хотели им показать?
0
|
|
|
|
|
| 20.07.2014, 22:35 | |
|
Если внимательно почитать эту тему: Регистрация ActiveX-DLL без прав администратора (UAC включен)
то можно увидеть 3 способа регистрации библиотеки без прав администратора: 1) от меня (ручной способ) сохранение после регистрации ветки HKLM. Подмена HKLM на HKCU. Экспорт в reg-файл. Использование в проекте - через консольную reg import hive.reg 2) от аналитика (с оформлением от Bati4eli) - там готовый EXE для регистрации в ветке HKCU. 3) от Убежденного - cсылка на статью (создание Registration-Free COM).
0
|
|
|
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,578
|
||
| 20.07.2014, 22:36 [ТС] | ||
|
The trick, я VB6 не планирую учить, я только хочу в DLL помещать VBA-код и на этом всё.
0
|
||
|
|
|
| 20.07.2014, 22:36 | |
|
там если результат regCode не равен нулю
значит ошибка, если 0, то все в порядке либ-зареган
0
|
|
| 20.07.2014, 22:36 | |
|
Как сделать надстройку в Visual Basic для VBA? dll для VBA Как сделать библиотеку DLL с моим компонентом видимой для COM? Как сделать обработчик OnClick в библиотеке(dll) для MainMenu? DLL для VBA и VB - почему разница в работе? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|