首页 > 解决方案 > 循环文件夹中的所有文件(VBA) - 运行时错误 52

问题描述

Option Explicit

Sub AllWorkbooks()
    Dim MyFolder As String
    Dim MyFile As String
    Dim wbk As Workbook
    
Application.ScreenUpdating = False

With Application.FileDialog(msoFileDialogFilePicker)
    .Title = "Please select a folder"
    .Show
    .AllowMultiSelect = False
    If .SelectedItems.Count = 0 Then
        MsgBox "You did not select a folder"
        Exit Sub
    End If
    
    MyFolder = .SelectedItems(1) & "\"
End With

MyFile = Dir(MyFolder)
Do While MyFile <> ""
    Set wbk = Workbooks.Open(Filename:=MyFolder & MyFile)
    Sheets(2).Range("A1").Value = "hi!"
    wbk.Close savechanges:=True
    MyFile = Dir
Loop
Application.ScreenUpdating = True
    
    
End Sub

我从该视频复制代码https://www.youtube.com/watch?v=J0PeXcAVaUM&t=169s。当我尝试运行此代码时,它显示“运行时错误 52:错误的文件名或编号”似乎“MyFile = Dir(MyFolder)”有问题。我该如何解决这个问题?太感谢了!

标签: excelvbaloopsruntime-error

解决方案


推荐阅读