2017-03-23 10 views
0

これを展開して、列内のファイル名リストに基づいてファイルをコピーするにはどうすればよいですか?ファイル名が列Aにある場合は、コピー先にコピーします。Excelの列リストに基づくテキストファイルのコピー

Dim fso As Object 
Set fso = VBA.CreateObject("Scripting.FileSystemObject") 

Call fso.CopyFile(source, destination[, overwrite]) 

これは私がこれまでに見つけたものですが、1つのファイルをコピーして消滅したようです。

Sub ConditionalFileCopy() 

SearchDirectoryPath = ThisWorkbook.Path & "\DP_From\" 
TargetDirectoryPath = ThisWorkbook.Path & "\DP_To\" 

    Dim nameValue As String 

    'start at cell A1 
    Range("a1").Select 
    Do Until Trim(ActiveCell) = "" 

     nameValue = ActiveCell 

     file = Dir(SearchDirectoryPath) 
     While (file <> "") 

       'file matches the name, copy file 
       FileCopy SearchDirectoryPath & file, TargetDirectoryPath & file 
       GoTo NEXT_NAME 
      file = Dir 
     Wend 
NEXT_NAME: 
     ActiveCell.Offset(1).Select 
    Loop 

End Sub 
+2

これを解決するためにこれまで何をしようとしましたか?私たちに知らせるために質問を更新してください。あなたが試したコードと具体的には動作しないコードをお持ちであることをお勧めします。 –

+0

私はこれまでのところこのコードを助けることができますか? – Noob2Java

+0

'file = Dir(SearchDirectoryPath&" *。* ")' –

答えて

0

GoTo NEXT_NAME 

これは、残りのファイルがコピーされる前に、あなたのループが終了する原因となっている行を削除します。

F8を使用してコードをステップ実行すると、実際に何が起こっているかがわかります。

+0

ありがとう@Macro Man – Noob2Java

関連する問題