循环遍历目录中文件的代码块处理:
Dim file As Variant
file = Dir(directory)
While (file <> "")
If (InStr(file, ".xlsx") > 0) And (InStr(file, "Percentage") = 0) And (InStr(file, aggregateFilename) = 0) Then
Call fight_dynamics_by_percentage_buckets(aggregateFilename, directory, file, folderToRunMacro, num_buckets)
End If
file = Dir
Wend
在我的代码中,用户选择存储一组文件的目录。在我的测试目录中,我有以下文件:
Analyzed.11.14.383.Chamber1.xlsx
Analyzed.11.14.383.Chamber2.xlsx
Analyzed.11.14.383.Chamber3.xlsx
当我运行宏时,程序将文件名提取为:
Analyzed.11.14.383#494E5A0.xlsx
Analyzed.11.14.383#494E5A1.xlsx
Analyzed.11.14.383#494E5A2.xlsx
我之前的目录使用过这个确切的代码,并且在提取正确的文件名时没有遇到任何问题。
这里发生了什么?
答案 0 :(得分:1)
我没有看到您的代码有任何问题,它也适用于我。它可能是excel问题的特定系统。您可以使用其他选项来获得相同的结果,以下是供您参考的代码。祝你有个美好的一天
Set filesys = CreateObject("Scripting.FileSystemObject")
For Each sfile In filesys.GetFolder(directory).Files
file = filesys.GetFileName(sfile)
If (InStr(file, ".xlsx") > 0) And (InStr(file, "Percentage") = 0) And (InStr(file, aggregateFilename) = 0) Then
Call fight_dynamics_by_percentage_buckets(aggregateFilename, directory, file, folderToRunMacro, num_buckets)
End If
Next