1
書きたいと思うマクロは、指定されたcsvファイルをフォルダ内で処理してからxls形式に変換する必要があります。フォルダ内のExcelマクロで作成したxlsファイルを見つける
次に、作成したすべてのxlsファイルを同じフォルダに配置し、それらを1つの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