首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从另一个工作簿进行保护时未应用密码

从另一个工作簿进行保护时未应用密码
EN

Stack Overflow用户
提问于 2020-02-11 07:56:33
回答 1查看 32关注 0票数 0

这段代码是一个按钮,它应该保护另一个工作簿的所有工作表,它可以工作,但它没有保护他们的密码我不知道为什么。它可以检测到Pass,但由于某种原因,它并不能保护它。正如你在图像上看到的,它会检测密码,但不会将其应用于密码。

代码语言:javascript
复制
Private Sub CommandButton3_Click()
Dim wb As Excel.Workbook
Application.ScreenUpdating = False
Pass = Sheets("Pass").Range("C5").Value
    If Sheets("Pass").Range("C5").Value <> "" Then
        Set wb = Workbooks.Open("G:\SnP\L-3\Nómina\Nómina 1° Turno.xlsm")
        With wb
            For i = 1 To Sheets.Count
            Sheets(i).Protect Password:=Pass, DrawingObjects:=True, Contents:=True, Scenarios:=True
            Next i
            Listop = MsgBox("Listo")
            Application.ScreenUpdating = True
            'wb.Close Savechanges:=True
        End With
        Exit Sub
    Else
        Err = MsgBox("Agregar Nueva o Vieja contraseña")
    End If
End Sub

我不知道这是否重要,但我也有下面的Unprotect,它工作得很好。

代码语言:javascript
复制
Private Sub CommandButton4_Click()
Dim wb As Excel.Workbook
Application.ScreenUpdating = False
Pass = Sheets("Pass").Range("C5").Value
    If Sheets("Pass").Range("C5").Value <> "" Then
        Set wb = Workbooks.Open("G:\SnP\L-3\Nómina\Nómina 1° Turno.xlsm")
        With wb
            For i = 1 To Sheets.Count
            Sheets(i).Unprotect Pass
            Next i
            Listop = MsgBox("Listo")
            Application.ScreenUpdating = True
        End With
        Exit Sub
    Else
        Err = MsgBox("Agregar Nueva o Vieja contraseña")
    End If
End Sub
EN

回答 1

Stack Overflow用户

发布于 2020-02-11 08:10:56

我怀疑你的"With wb“部分的作用域不正确。

在该节中有工作表的任何位置,都可以尝试使用.Sheets,以确定工作表属于哪个工作簿。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60160175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档