excel - 循环文件夹中的所有文件(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)”有问题。我该如何解决这个问题?太感谢了!
解决方案
推荐阅读
- sql - 使用 bigquery 计算到当前月份的差月
- oracle - 表中的Oracle/JPA fk在另一个表中没有对应的pk
- python - 使用python对逗号分隔的值进行Json解析
- multithreading - 在典型的 Intel/AMD 多核机器上实现快速计算/巨大内存的多线程效率
- xcode - 无法将 Xamarin.iOS 应用发布到 TestFlight
- python - 为什么 Python 在这里创建一个复数?
- flutter - 启动到物理设备时出现黑屏
- wordpress - 根据当前失败的 404 请求插入新帖子,并重定向
- neural-network - 无法在 jupyter notebook 中导入 torchsummary
- javascript - 从 img 标签中检索 Blob