这是本公众号开通以来的第62篇文字。感谢大家的支持!
前段时间工作特别忙,随后休了一段时间的假,公众号更新就暂停了一下。今天开始,公众号恢复更新。
好了,言归正传。
随着XX对数据安全的重视程度提高,目前对于一些较为敏感的数据进行邮件传输时,要求进行必要的加密。如果是个别文件的加密,手工操作量还不大。当一次需要进行加密的文件较多时,手工逐个操作起来就十分不便。
前段时间,我们就遇到了这么一个工作场景。
当时,需要对一系列的敏感数据按照客户归属关系发送到对应的网点,每个网点一张表,每张表都需要加密,总体表格数量多达上百份。为降低手工操作量,当时写了一段简单的代码,并包装成了小工具。
以11个Excel文件为例,以abc123d作为密码进行加密。动图演示效果如下:
图片
完成加密操作后,小工具会弹出一个对话框,告诉你:对XX个文件进行了加密,密码是:XXXX。点击确定后,我们的文件就加密好了。
下面我们试着打开被加密的文件,看是否成功。动图演示如下:
图片
可以看到,我们的文件确实被加密了。输入上面设定好的密码abc123d后,文件被打开了。
上面用到的这个小工具,我上挂到百度云盘里面,大家可通过下面的路径进行下载。
链接:https://pan.baidu.com/s/1Lkn2cUXBTRVlSDXv-p7w9g 密码:ee3y
接下来,我们看一下用到的VBA代码。
在上面这个小工具中,我们用到了Excel VBA中的模块和窗体,如下图所示。
图片
模块部分没有太多内容,主要就是一句代码:
批量加密工作簿.Show
代码的意思是对窗体“批量加密工作簿”进行调用。
窗体部分相对比较复杂。我们首先要做出下面这样一个窗体界面来:
图片
用到的代码主要是以下这些:
PrivateSub UserForm_Initialize()
OnError Resume Next
Application.DisplayAlerts= False
Dimfopen As FileDialog
Dimmypath As String
DimtheSh As Object
DimtheFolder As Object
SettheSh = CreateObject('shell.application')
SettheFolder = theSh.browseforfolder(0, '', 0, '')
IftheFolder Is Nothing Then
ExitSub
EndIf
mypath= theFolder.items.Item.Path
Me.Label2= mypath
Setmyfso = CreateObject('scripting.filesystemobject')
Setmyfile = myfso.getfolder(mypath).Files
i= 0
ForEach fe In myfile
With Me.ListBox1
.AddItem
.List(i, 0) = fe.Name
End With
i = i + 1
Next
Application.DisplayAlerts= True
EndSub
PrivateSub 取消_Click()
End
EndSub
PrivateSub 全不选_Click()
Fori = 0 To Me.ListBox1.ListCount - 1
Me.ListBox1.Selected(i) = False
Next
EndSub
PrivateSub 全选_Click()
Fori = 0 To Me.ListBox1.ListCount - 1
Me.ListBox1.Selected(i) = True
Next
EndSub
PrivateSub 确定_Click()
Application.ScreenUpdating= False
Fori = 0 To Me.ListBox1.ListCount - 1
If Me.ListBox1.Selected(i) = True Then
myfilename = Me.Label2 &'\' & Me.ListBox1.List(i, 0)
Workbooks.Open Filename:=myfilename
ActiveWorkbook.Password = Me.TextBox1
ActiveWorkbook.Save
ActiveWorkbook.Close savechanges:=True
End If
Next
MsgBox('已完成对所有表格加密,密码为: ' &Me.TextBox1)
Application.ScreenUpdating= True
End
EndSub
上述代码依次对应的是:窗体初始化、取消按钮、全不选按钮、全选按钮和确定按钮。
有兴趣的朋友欢迎私下联系交流;不愿意看代码的朋友,直接按着这个小工具用就好了。
好了。今天的内容就到这里吧。欢迎大家关注我的公众号。请多多评论,多多推广。谢谢!
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。