userForm禁用其他工作簿

时间:2019-02-21 10:43:35

标签: vba userform

有人知道打开UserForm时如何启用对其他工作簿的编辑吗?在我放入工作簿中的Makro下方

    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 :(得分:0)

可以创建无模式(以及模式)对话框。无模式对话框允许用户在表单仍然显示时继续在应用程序中工作。

默认情况下,所有用户窗体都显示为 modal ,这意味着用户必须先关闭用户窗体,然后才能使用该应用程序。当用户窗体是模式窗体时,用户必须在使用应用程序的任何其他部分之前提供信息或关闭用户窗体。在隐藏或卸载用户窗体之前,不会执行任何后续代码。 尽管显示用户窗体时会禁用应用程序中的其他窗体,但不会禁用其他应用程序。

当用户窗体为无模式时,用户可以查看其他窗体或窗口而无需关闭用户窗体。

Userform1.Show ([modal]) 

具有:

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

(逐字记录来自https://bettersolutions.com/vba/userforms/modeless.htm