Упаковка надстроек в DLL - PullRequest
1 голос
/ 28 января 2010

У меня есть две надстройки MS Office, написанные на VBA, которые я хотел бы упаковать в установщик вместе с некоторыми файлами поддержки. Поскольку пароли VB, защищающие код надстройки, можно довольно легко взломать, я хочу "преобразовать" код VBA в моих надстройках в библиотеки DLL, а затем вызвать библиотеки DLL из надстроек.

Каковы мои варианты «размещения» кода VBA в DLL? Может ли Visual Studio справиться с этим? Любые хорошие ссылки, которые предоставляют некоторые очень простые инструкции по этому вопросу? Спасибо.

1 Ответ

2 голосов
/ 31 января 2010

Поскольку никто не ответил ... У меня нет личного опыта, хотя я использовал VBA, VB6 и написал библиотеки DLL VB6, которые являются надстройками для других сторонних программ (хотя и не для Office).

Самый простой способ - преобразовать код VBA в надстройку COM VB6. Тогда вам не нужно менять внутренности своего кода, так как VBA на 99% идентичен VB6, и вы можете кодировать для той же объектной модели Office. Вам нужно будет изменить ведение домашнего хозяйства, связывающее вашу надстройку с Office. Вот статья Microsoft MSDN 2002 о том, как писать надстройки Office в VB6.

В качестве альтернативы вы можете перенести VBA в VB.Net в качестве надстройки VSTO . VB.Net полностью поддерживается, тогда как теперь поддерживается только среда выполнения VB6 . Недостатки в том, что это может быть много работы, с новыми вещами, чтобы учиться и покупать . Вам нужно будет использовать обфускатор , иначе ваш код .Net может быть декомпилирован еще проще , чем защищенный паролем VBA.

Прежде чем вы решите, подумайте, сколько пиратов будут атаковать ваш код, насколько плохо будет, если они взломают его, и что мешает им просто копировать ваши двоичные файлы (без декомпиляции)? Правильный ответ может быть просто придерживаться надстроек VBA.

...