Как запустить / инициализировать пользовательские формы Excel VB без отображения рабочих книг? - PullRequest
0 голосов
/ 25 августа 2018

Я создал инструмент Excel VBA, который использует пользовательские формы для создания покупок для пользователя.Как только пользователь откроет инструмент, он сможет выбирать заказы из формы пользователя.Затем код обрабатывает заказы и возвращает их с расчетной оценочной стоимостью.

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

Недавно я столкнулся с приведенным ниже решением, однако обнаружил, что при первом запуске пользователем он обнаружил " Предупреждение системы безопасности Макросыбыли отключены. Включить содержимое (кнопка) ", что делает первоначальное решение бесполезным.Любой совет приветствуется.TIA.

ActiveWorkbook.Windows(1).Visible = False

Ответы [ 2 ]

0 голосов
/ 25 августа 2018

забыл упомянуть очевидное

XLAM

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

надстройки не отображаются по умолчанию

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

Я не скажу, что это «хороший» совет, и вы можете игнорировать или отвергать идею в принципе, но если у вас нет законного способа подписать свои проекты, рассмотрите возможность установки личного сертификата на пользователей. компьютер и подписание проекта локально или удаленное прохождение процесса через пользователя

0 голосов
/ 25 августа 2018

Вы можете постоянно включать макросы для определенной книги в центре управления безопасностью книги Excel. Таким образом, всякий раз, когда пользователь открывает рабочую книгу, ему / ей не нужно нажимать кнопку каждый раз, чтобы активировать что-либо связанное с макросом.

enter image description here

В вашем случае вы хотите выбрать: Enable all macros (not recommended; potentially dangerous code can run)

...