1
我打算編寫的宏必須處理文件夾中給定的csv文件,然後轉換爲xls格式。在文件夾中查找由excel宏創建的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
很高興我能幫助!請花一點時間接受答案,並參觀瞭解SO如何工作:http://stackoverflow.com/tour – R3uK