Excel 在同一路径中设置“另存为”&;没有提示的名称

Excel 在同一路径中设置“另存为”&;没有提示的名称,excel,vba,Excel,Vba,要求: 保护所有床单 隐藏除权限表之外的所有工作表 向文件中添加密码,并将其保存在同一路径中,使用相同的名称,无需提示 下面的代码似乎无法正常工作。它不应用文件保护 我不知道我会错在哪里 Private Sub Workbook_BeforeClose(Cancel As Boolean) Dim a110w As Variant Dim path As String a110w = "123" 'P path =

要求:

  • 保护所有床单
  • 隐藏除权限表之外的所有工作表
  • 向文件中添加密码,并将其保存在同一路径中,使用相同的名称,无需提示
  • 下面的代码似乎无法正常工作。它不应用文件保护

    我不知道我会错在哪里

    Private Sub Workbook_BeforeClose(Cancel As Boolean)
        
        Dim a110w As Variant
        Dim path As String
        
        
        a110w = "123" 'P
        path = Application.ThisWorkbook.path
        
     
        Application.DisplayAlerts = False
        
              
              ThisWorkbook.Unprotect Password:=a110w 'Unprotect workbook structure
              
             For Each Worksheet In Sheets 'Protect all sheets
              
                  Worksheet.Protect Password:=a110w
             Next
        
             For Each Worksheet In Sheets 'Hide all sheets except PERMISSIONS sheet
              
                 If Not Worksheet.Name = "Permissions" Then Worksheet.Visible = xlVeryHidden
              Next
              
        With ThisWorkbook
           .SaveAs Filename:=path, FileFormat:=50, Password:=a110w
           
        End With
             
              
        Application.DisplayAlerts = True
        
              
        
        End Sub
    

    当所有其他操作都失败时,请检查。不要将
    工作表
    用作变量,因为这是一种内置对象类型。尝试使用类似于
    ws
    或其他任何东西。