planetz Ответов: 2

Как скрыть пользовательскую форму в Excel книги и не другие Excel в VBA для Excel


Всем Привет,

У меня есть форма пользователя в excel vba.
Что я хотел, так это спрятать книгу excel, когда откроется форма. Но это также закрывало все другие открытые книги excel.

Я хотел бы закрыть только тот конкретный excel, который имеет связанную с ним форму.

Любая помощь или намек будут очень полезны.

Что я уже пробовал:

Application.Visible=False

Эта строка закрывает все остальные открытые книги excel. И делая это правдой, вы открываете excel для userform.

И это не работает
ThisWorkbook.ActiveSheet.Visible = False

RedDk

видеть здесь:

https://www.codeproject.com/Questions/1180939/Vba-userform-unhide-excel-application

planetz

это закрывает все остальные файлы excel.

2 Ответов

Рейтинг:
1

Maciej Los

planetz[^] писанное:
Я хотел бы закрыть только тот конкретный excel, который имеет связанную с ним форму.


За короткий срок: Ты не можешь! До тех пор, пока связанная рабочая книга является родителем UserForm, вы не можете закрыть эту книгу (которая встроена в нее).

Вы можете только имитировать скрытие окна, связанного с рабочей книгой, минимизируя его.


Рейтинг:
0

Pat O'Brien

На самом деле, вы можете! Если вы не против, чтобы он начал скрываться.

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

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

Private Sub Workbook_Open()
    
    Load UFTest
    UFTest.Show
    
End Sub


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

Это может оказаться больше хлопот,чем стоит, но попробуйте!

Или вы можете использовать свою личную книгу. xlsb для размещения формы пользователя. Как правило, это не видно при запуске excel, но код и формы можно использовать.

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