Excel VBA高效办公应用-第十六章-VBA高效文件操作(同时给多个工作簿加解密)

本示例演示了批量加解密文件操作。


Option Explicit

Private Sub ComboBox1_Change()
    '增加列表框的选项
ListBox1.AddItem ComboBox1.Text
End Sub

Private Sub CommandButton1_Click()
    '保护或者打开工作表
ProtectAndUnProtect
End Sub

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    '定义双击列表框的项目时,删除掉当前项目
ListBox1.RemoveItem ListBox1.ListIndex
End Sub

Private Sub UserForm_Activate()
    '定义一个工作表变量
Dim sh As Worksheet
    '获得当前工作薄上的工作表的名称
For Each sh In ActiveWorkbook.Sheets
    ComboBox1.AddItem sh.Name '定义加载复合框时各Item的内容
Next sh
End Sub
Sub ProtectAndUnProtect()
'定义Spwd来获得密码
Dim Spwd As String, i As Integer
'定义工作表变量sh
Dim sh As Worksheet
On Error GoTo 1 '有错误则提示错误码
If ActiveSheet.ProtectContents Then '判断当前工作表是否处于保护状态
    Spwd = InputBox("Password", "UnProtect") '如果是输入解密密码
    If Spwd = "" Then Exit Sub '密码为空则直接退出
    For i = 0 To ListBox1.ListCount - 1 '循环列表框Item
        Sheets(ListBox1.List(i)).Unprotect Spwd '给列表框上有的表格解密
    Next i
Else
    Spwd = InputBox("Password", "Protect") '输入加密密码
    If Spwd = "" Then Exit Sub '密码为空则直接退出
    For i = 0 To ListBox1.ListCount - 1 '循环列表框Item
        Sheets(ListBox1.List(i)).Protect Spwd '给列表框上有的表格解密
    Next i
End If: Exit Sub
1 MsgBox Err.Description, 16 '提示错误码
End Sub



  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值