【发布时间】:2024-01-11 09:17:01
【问题描述】:
您好,对 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
【问题讨论】:
-
Workbooks.Open有一个 Password 参数。 -
交叉发布于:mrexcel.com/board/threads/…。交叉发帖礼仪请阅读:excelguru.ca/content.php?184