【问题标题】:userForm disabling other workbooksuserForm 禁用其他工作簿
【发布时间】:2019-02-21 20:14:38
【问题描述】:

有谁知道在打开用户窗体时如何在其他工作簿上启用编辑?在我放入工作簿的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

【问题讨论】:

  • 您可以将表单设为非模态表单或使用单独的 Excel 实例。

标签: vba userform


【解决方案1】:

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

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

当用户窗体为无模式时,用户可以在不关闭用户窗体的情况下查看其他窗体或窗口。

Userform1.Show ([modal]) 

与:

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

(逐字引用自https://bettersolutions.com/vba/userforms/modeless.htm

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-17
    • 1970-01-01
    相关资源
    最近更新 更多