通过VBA脚本自动修复损坏的.xlsx文件的数量

时间:2019-02-28 14:12:07

标签: excel vba

我的目录中有许多损坏的.xlsx文件。 我想打开每个文件进行修复,并通过VBA脚本以相同的名称保存。

我尝试了以下代码来解决此问题:

Sub ProcessFiles()
Dim Filename, Pathname As String
Dim wb As Workbook

Pathname = ActiveWorkbook.Path & "\output\"
Filename = Dir(Pathname & "*.xlsx")
Do While Filename <> ""
    Set wb = Workbooks.Open(Pathname & Filename, CorruptLoad:=xlRepairFile)
    wb.Close SaveChanges:=True
    Filename = Dir()
Loop
End Sub

但是此代码仅修复第一个文件并打开Windows资源管理器以手动保存文件。

是否可以执行修复并将具有相同名称的所有文件自动保存在同一文件夹中?

2 个答案:

答案 0 :(得分:1)

多年以来我都没有接触过VBA,但是您可以调用一个明确的wb.SaveAs方法。

答案 1 :(得分:0)

您设置了Application.DisplayAlert = False吗?您的代码似乎不错。您只需要稍后打开它即可。