在文件夹中查找由excelmacros创build的xls文件

我打算写的macros必须处理一个文件夹中的给定的csv文件,然后转换为xls格式。

然后我想在同一个文件夹中find所有创build的xls文件,并将它们合并成一个xlsx文件。

第一个循环运行正常(查找文件夹中的所有csv文件,处理它们并将它们转换为xls格式)。

但是,当我尝试查找所有xls文件时,它将返回空。 我也尝试debugging和添加手表。 它返回空string。

我不知道我的代码有什么问题。 请看下面。

Sub Macro2() fname = "Consolidated Excel Spreadsheet" & ".xlsx" fpath = "C:\Path\" StrDstFile = fpath & fname Set objWorkbook = objExcel.Workbooks.Add() ActiveWorkbook.SaveAs StrDstFile, FileFormat:=51 Set DstWb = ActiveWorkbook CsvFile = Dir(fpath & "*.csv") ' This runs absolutely fine. Do While CsvFile <> "" StrSrcFile = fpath & CsvFile Set SrcWb = Workbooks.Open(StrSrcFile) SrcWb.Activate ActiveWorkbook.SaveAs Replace(SrcWb.FullName, ".csv", ".xls"), FileFormat:=xlExcel8 SrcWb.Close True Set SrcWb = Nothing CsvFile = Dir Loop XlsFile = Dir(fpath & ".xls") ' This does not find any xls files in the directory, even though the files exist here Do While XlsFile <> "" StrSrcFile = fpath & XlsFile Set SrcWb = Workbooks.Open(StrSrcFile) SrcWb.Activate XlsFile = Dir Loop End Sub 

您在XlsFile = Dir(fpath & ".xls")中缺less*

它应该是XlsFile = Dir(fpath & "*.xls")