Советы по архитектуре VBA - Макро упаковка - PullRequest
2 голосов
/ 08 марта 2011

Я собрал доказательство того, что Excel получает данные из базы данных, и мне нужно упаковать их, чтобы они могли распространяться среди наших клиентов. Моя первая попытка состояла в том, чтобы просто выбросить весь мой код в модуль кода, но затем в Excel я могу видеть все модули в списке макросов, когда мне действительно нужен только основной из списка. Я предполагаю, что мне нужно переместить подпрограммы, которые не нужно запускать непосредственно в модули классов, чтобы они были скрыты. Есть ли другие советы о том, как упаковать код макроса, чтобы его было проще и безопаснее предоставлять клиентам?

1 Ответ

1 голос
/ 08 марта 2011

Независимо от того, скрыт ли Sub в списке макросов, зависит от его области действия (например, public, private).Если вы сделаете Sub частным, он не будет указан в списке макросов.

'This sub is public
Public Sub myPublicSub()
    MsgBox "hello world"
End Sub

'This sub is also public
Sub mySub()
    MsgBox "hello world"
End Sub

'This sub is private
Private Sub myPrivateSub()
    MsgBox "hello world"
End Sub

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

Если это для клиента, я бы настоятельно рекомендовал упаковывать его как .xlam (надстройка Excel 2007+) и узнавать, как настроить ленту для включения кнопки для вашегомакросы.Список макросов не особенно пригоден для использования.(см. http://openxmldeveloper.org/archive/2006/05/25/CustomUIeditor.aspx для бесплатного XML-редактора ленты «Вложения» внизу статьи. См. http://www.rondebruin.nl/ribbon.htm для некоторых руководств)

Для защиты вашего кода от просмотра /украденный проект VBA может быть защищен паролем, но это не следует считать надежной защитой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...