首页 > 解决方案 > 使用 VBA 打开受密码保护的文件

问题描述

嗨,对 VBA 和编码非常陌生,因此非常感谢所有帮助。

因此,我有大约 37 个文件需要使用 VBA 打开,然后获取一些数据并将其汇总到摘要中,但是谢天谢地,有些文件受密码保护,使用相同的密码。

我正在使用 Application.Get Open 文件名来获取所有文件的位置,然后使用从 1 到 n 的循环来打开FileNames(i)我可以做什么,以便在打开工作簿时询问它输入的密码密码“password1”。

我尝试过ActiveWorkbook.Unprotect Password:="Password"但似乎不起作用,因为需要打开工作簿才能取消保护它。

Sub Aggregation_Data()
Dim FileNames As Variant, i As Integer, j As Integer
Dim TWB As Workbook, aWB As Workbook



Set TWB = ThisWorkbook

MsgBox ("Enter Files that you wish to import data from")

FileNames = Application.GetOpenFilename(FileFilter:="Excel Filter (*.xlsx), *xlsx", Title:="Open File(s)", MultiSelect:=True)

For i = 1 To UBound(FileNames)

Workbooks.Open FileNames(i)
ActiveWorkbook.Unprotect Password:="Password"


Next i

End Sub

在此处输入图像描述

标签: excelvba

解决方案


.Protect.Unprotect是指避免用户修改脚本的功能。对于工作簿密码,您可以使用Workbook.open上面提到的参数。


推荐阅读