Vba 代码运行正常,但单步执行时出错
更新:我已经被引导到一个解决方案在这里 下面的代码将循环浏览用户选择的文件夹,并列出其中的文件 写入MsgBox或调试时,它工作正常。通过F5打印,但在尝试单步执行时会导致运行时错误5“过程调用或参数无效”,并在Vba 代码运行正常,但单步执行时出错,vba,Vba,更新:我已经被引导到一个解决方案在这里 下面的代码将循环浏览用户选择的文件夹,并列出其中的文件 写入MsgBox或调试时,它工作正常。通过F5打印,但在尝试单步执行时会导致运行时错误5“过程调用或参数无效”,并在FileToList=Dir处中断 当我观察Dir和FileToList的监视窗口时,Dir在FileToList到达文件夹中的第三个文件之前到达“”。在循环中每次按F8键都会导致Dir值在整个循环周期之前发生变化 Sub Loop_Inside_Folder() Dim FileD
FileToList=Dir
处中断
当我观察Dir和FileToList的监视窗口时,Dir在FileToList到达文件夹中的第三个文件之前到达“”。在循环中每次按F8键都会导致Dir值在整个循环周期之前发生变化
Sub Loop_Inside_Folder()
Dim FileDir As String
Dim FileToList As String
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Please select a folder"
.ButtonName = "Pick Folder"
If .Show = 0 Then
MsgBox "Nothing was selected"
Exit Sub
Else
'Folder path
FileDir = .SelectedItems(1) & "\"
End If
End With
'Get first matching file name
FileToList = Dir(FileDir & "*xlsm")
Do Until FileToList = ""
'Debug.Print FileToList
FileToList = Dir
Loop
End Sub
为了进一步测试,我包括了5行:
FiletoList = Dir(FileDir & "*.xls*")
FiletoList = Dir(FileDir & "*.xls*")
FiletoList = Dir(FileDir & "*.xls*")
FiletoList = Dir(FileDir & "*.xls*")
FiletoList = Dir(FileDir & "*.xls*")
FiletoList = Dir(FileDir & "*.xls*")
每个步骤的值为:
Dir : "File 2.xlsx"
FileToList : "File 1.xlsx"
因此,在单步执行时,FileToList=Dir似乎无法正常工作。这就好像Dir无法匹配FileToList,因此它将转到下一个可用文件
我不确定这是否与我当地的环境有关?有什么想法吗
非常感谢。请参阅初始帖子顶部的更新与堆栈溢出链接