userForm отключает другие книги - PullRequest
0 голосов
/ 21 февраля 2019

Кто-нибудь знает, как включить редактирование в других книгах, когда открыта пользовательская форма?Ниже макро, которое я положил в рабочую книгу

    Private Sub Workbook_Open()

     If Environ("USERNAME") <> "name.name" Then
     Worksheets("EQUIPMENT").Visible = xlVeryHidden
     Worksheets("EQUIPMENTFULL").Visible = xlVeryHidden
     Worksheets("SITES").Visible = xlVeryHidden
     Worksheets("EMPLOYEES").Visible = xlVeryHidden
     Worksheets("NEW").Visible = True
     Else: For i = 1 To Worksheets.Count
      Worksheets(i).Visible = True
       Next i
  End If
  UserForm.Show
 End Sub

1 Ответ

0 голосов
/ 21 февраля 2019

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

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

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

Userform1.Show ([modal]) 

с:

VBA.FormShowConstants.vbModal = 1
VBA.FormShowConstants.vbModeless = 0

(дословно взято из https://bettersolutions.com/vba/userforms/modeless.htm)

...