Sub CopyFilesToFolderB()
' 機能概要: Sheet1のA列にあるファイルのフルパスを読み取り、フォルダBにコピーする
' 引数: なし
' 備考: フォルダBのパスは適宜変更
Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long
Dim filePath As String
Dim destFolderPath As String
Dim fileName As String
Dim fso As Object
' フォルダBのパス
destFolderPath = "C:\FolderB\" ' フォルダBのパスを適宜変更
' ワークシート設定
Set ws = ThisWorkbook.Sheets("Sheet1")
' 最終行を取得
lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
' FileSystemObjectの初期化
Set fso = CreateObject("Scripting.FileSystemObject")
' A列のファイルをループしてコピー
For i = 1 To lastRow
filePath = ws.Cells(i, 1).Value
If fso.FileExists(filePath) Then
fileName = fso.GetFileName(filePath)
fso.CopyFile filePath, destFolderPath & fileName
End If
Next i
' オブジェクトの解放
Set fso = Nothing
End Sub
コメント