CSV ファイルの結合エラー 1004

CSV ファイルの結合エラー 1004

そこで、複数の .csv ファイルを 1 つの Excel ワークシートに結合するマクロを作成しようとしています。そのために次のチュートリアルを使用しました。 vba コード

ただし、.csv ファイルへの正しいパスを入力すると、「実行時エラー '1004: 申し訳ありませんが、April2019.csv が見つかりませんでした。移動、名前変更、または削除された可能性がありますか?」というメッセージが表示されます (April2019.csv はフォルダー内の最初のファイルです)。したがって、マクロは適切なフォルダーと .csv ファイルを見つけたものの、その後停止し、その理由がわかりません。コードを少し変更してみましたが、うまくいきません。以下のコードは、現在使用しているコードです。チュートリアルを作成した Jie Jenn に感謝します。

Option Explicit

Dim wsMerge As Worksheet
Dim RowInsert As Long

Sub Merge_Files()
Const FolderPath As String = "H:\Documents\Invoices\"

Dim Files As String
Dim wbTemp As Workbook
Dim LastRow As Long

Set wsMerge = ThisWorkbook.Worksheets("Merge")

RowInsert = 2

Files = Dir(FolderPath + "*.csv")

Do Until Files = ""
        
        Set wbTemp = Workbooks.Open(Files)
        
        With wbTemp.Worksheets(1)
        LastRow = .Cells(Rows.Count, "A").End(xlUp).Row
        
                .Range("A2:N" & LastRow).Copy
                wsMerge.Range("A" & RowInsert).PasteSpecial xlPasteValues
                
                Application.DisplayAlerts = False
                wbTemp.Close False
                Application.DisplayAlerts = True
                
                RowInsert = RowInsert + LastRow - 1
        End With
        
        Files = Dir()
Loop

MsgBox "File Merge Complete", vbInformation

End Sub

「wbTemp = Workbooks.Open(Files) を設定する」とエラーが発生します。

これが問題の背景を十分に表していることを願っています。

答え1

このコード部分を使用する場合は、ファイル名のみを指定しますSet wbTemp = Workbooks.Open(Files)。ファイルには、たとえばファイル名のみが含まれますmyfile.csv。パスがありません。次のように変更します。

 Set wbTemp = Workbooks.Open(FolderPath & Files)

関連情報