Mac Excel 2011 VBA Dir()函数文件识别问题

Mac Excel 2011 VBA Dir()函数文件识别问题,excel,vba,macos,excel-2011,Excel,Vba,Macos,Excel 2011,我正在尝试创建一个宏,该宏允许我将指定文件夹中以“.xlsx”结尾的所有文件中的数据导入到单个电子表格中。我基本上已经解决了这个问题,但有一个反复出现的问题需要手动解决,直到我找到解决方案为止 源.xlsx文件包含一个用于输入数据的标准模板,由其他用户填充并提交给我。我将这些文件下载到计算机上的指定文件夹中。但是,Dir函数无法识别指定文件夹中的任何.xlsx文件,除非我在Excel中打开该文件并单击“保存”。一旦我这样做了,Dir函数就可以完美地工作,所有的.xlsx文件都列在即时窗口中。我非

我正在尝试创建一个宏,该宏允许我将指定文件夹中以“.xlsx”结尾的所有文件中的数据导入到单个电子表格中。我基本上已经解决了这个问题,但有一个反复出现的问题需要手动解决,直到我找到解决方案为止

源.xlsx文件包含一个用于输入数据的标准模板,由其他用户填充并提交给我。我将这些文件下载到计算机上的指定文件夹中。但是,Dir函数无法识别指定文件夹中的任何.xlsx文件,除非我在Excel中打开该文件并单击“保存”。一旦我这样做了,Dir函数就可以完美地工作,所有的.xlsx文件都列在即时窗口中。我非常感谢任何人对发生这种情况的原因以及是否有任何方法可以修复代码,使其在不打开和保存文件的情况下识别文件有任何见解

Sub Test()
Dim strPath As String
Dim strFile As String

strPath = ActiveWorkbook.Path & Application.PathSeparator & "ReferenceFolderName" & Application.PathSeparator
strFile = Dir(strPath, MacID("XLSX"))

Do While Len(strFile) > 0
    strFile = Dir
    Debug.Print strFile
Loop
End Sub

我不知道问题出在哪里,但我想指出的是,您的调试将跳过第一个文件(在打印前再次调用Dir),也许可以在此处尝试Ron的代码:似乎是一个已知的问题,如果文件不是在Mac上创建的,则在保存文件之前,MacID将为空。可能尝试在没有任何过滤器的情况下循环,只需检查文件扩展名即可过滤掉Excel文件