У меня есть .xlam Excel Addin, который предоставляет некоторые функции и типы. Я скрываю любые функции и модули, не предназначенные для внешнего вызова с использованием Option Private Module
, поэтому они недоступны извне и не отображаются в Intellisense. Эта проблема заключается в том, что ThisWorkbook
и все рабочие листы (скрытые или иные) в надстройке также отображаются.
Давайте назовем VBAP-проект в этом дополнении MyVBAProject
. В рабочую книгу клиента добавлена ссылка на MyVBAProject
. Затем Intellisense перечисляет доступные функции в надстройке, когда набирается MyVBAProject.
. Это здорово, но в нем также перечислены ThisWorkbook
и все рабочие листы в .xlam (например, Sheet1
). Это включает в себя любые функции, определенные в модуле «Рабочий лист»: MyVBAProject.Sheet1.YouShouldNotSeeThisFunction()
Мне требуются некоторые настройки для модулей «Рабочая книга» и «Рабочий лист», эквивалентные установке «Инстансинг в качестве частного» для модулей класса, как это используется по умолчанию. Кто-нибудь нашел решение для этого? Я пытаюсь научить пользователей надстройки использовать Intellisense, и хочу, чтобы он показывал и показывал только то, на что им разрешено ссылаться.