2017-01-17 7 views
1

Я использую другую книгу как библиотеку общих подпрограмм (Инструменты - Ссылки - и т. Д.). Он работает отлично.Использование других макросов рабочей книги: Инструменты - Ссылки в VBA

Однако, когда файл вызывающего абонента загружает его в качестве ссылки, он также открывает файл библиотеки на фоне. Два вопроса:

  • Возможно ли сделать загруженную библиотеку только для чтения?
  • Можно ли скрыть загруженную библиотеку, скрытую от пользователя?
+0

сделать это AddIn –

+0

Я подумал об этом, но я не уверен в этом, если библиотека должна быть обновлена ​​довольно регулярно. Как пользователь узнает, что обновленный аддон должен быть установлен до запуска макроса? – hardish

+0

Как теперь пользователь знает, что файл ссылок библиотеки нуждается в обновлении? –

ответ

0

Вы можете установить атрибут только для чтения (в свойствах файла File Explorer, диалог) на любой из книг, в том числе ссылочного книги, независимо от того, что является нормальным с поддержкой макросов рабочей книги или макро -enabled.

Существует не в любом случае, чтобы сделать ссылки книги не отображается в окне Project Explorer VBE, но вы можете «защитить» его пароль, так что он не может легко быть изучен, но обратите внимание, что защита пароля является очень легко победить, так что предположим, что определенные пользователи смогут просматривать и изменять ваш код.

Если вам нужна более эффективная защита, и вы хотите, чтобы ссылка только отображалась в списке ссылок и не в Проводнике проекта, тогда вам необходимо реализовать ссылку в виде COM-типа Libarary и установить это на каждой машине, на которой это требуется. Это больше усилий, но также обеспечивает гораздо лучшую защиту.

+0

Спасибо за это. Два вопроса - может ли это (например, реализация COM-типа lib) выполняться на ПК без прав администратора? Два - поскольку библиотеки регулярно обновляются, можно ли запретить пользователям использовать устаревшую библиотеку? – hardish

+0

Любой пользователь может редактировать атрибуты в файле, если у них есть разрешения на изменение файла - он не определяется правами администратора, он определяется системой контроля доступа к файловой системе. Если вы говорите о библиотеках, на которые ссылаются книги Excel, вы можете заставить пользователей ссылаться на книгу в общем/сетевом расположении (а не на локальном диске), а затем вам нужно только обновить книгу в одном месте. – ThunderFrame

+0

Я редактировал свои комментарии во время написания ... В любом случае, я имел в виду библиотеки типа COM, а не только атрибуты чтения. Спасибо – hardish