我打算编写的宏必须处理文件夹中给定的csv文件,然后转换为xls格式。
然后我想在同一个文件夹中找到所有创建的xls文件,并将它们合并到一个xlsx文件中。
第一个循环运行正常(找到文件夹中的所有csv文件,处理它们并将它们转换为xls格式)。
但是,当我尝试查找所有xls文件时,它返回空。我也尝试调试和添加手表。它返回空字符串。
我不确定我的代码有什么问题。请参阅下文。
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
答案 0 :(得分:0)
{1}}
中缺少*
应为XlsFile = Dir(fpath & ".xls")