この記事では、VBAマクロでファイル移動を一括で(別のフォルダ:ディレクトリなど)行う方法【MoveFiles関数、FileDialog関数使用】について解説していきます。
ポイントとしては、MoveFiles関数とFileDialog関数を使用することです。
初心者にも理解しやすいよう、変数名を少々変わった日本語ローマ字表記にしていますので、実際にご活用の際は、適切な英語表記に変更してください!
それでは詳しく見ていきましょう!
VBAマクロでファイル移動を一括で(別のフォルダに)【別のokokok.csvのA列の2行目から最終行までが対象リスト】
それではまず、okokok.csvから取得したファイルリストを使ってファイルを移動する方法について解説していきます。
Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。
Sub MoveFilesUsingList()
Dim keiro As String
Dim mokuteki As String
Dim hensuu As Range
Dim sakuhin As Workbook
Set sakuhin = Workbooks.Open("C:\path\to\okokok.csv")
keiro = "C:\source\path\"
mokuteki = "C:\destination\path\"
For Each hensuu In sakuhin.Sheets(1).Range("A2:A" & sakuhin.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row)
If Dir(keiro & hensuu.Value) <> "" Then
FileCopy keiro & hensuu.Value, mokuteki & hensuu.Value
Kill keiro & hensuu.Value
End If
Next hensuu
sakuhin.Close False
End Sub
コードのAlt+F8を押し、マクロ選択画面でMoveFilesUsingList関数を実行します。
このコードでは、指定したCSVファイルからファイルリストを読み込み、それらのファイルを新しいフォルダに移動します。ファイルパスは適宜調整してください。
VBAマクロでファイル移動を一括で(別のフォルダに)【ダイヤログで移動ファイルを指定する】
続いては、ダイアログを使用してファイルを選択し、それらを移動する方法について解説していきます。
Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。
Sub MoveFilesUsingDialog()
Dim mokuteki As String
Dim dialog As FileDialog
Set dialog = Application.FileDialog(msoFileDialogFilePicker)
dialog.AllowMultiSelect = True
mokuteki = "C:\destination\path\"
If dialog.Show = -1 Then
For Each Selection In dialog.SelectedItems
FileCopy Selection, mokuteki & Dir(Selection)
Kill Selection
Next Selection
End If
End Sub
コードのAlt+F8を押し、マクロ選択画面でMoveFilesUsingDialog関数を実行します。
このコードでは、ファイルダイアログを使ってユーザーが移動させたいファイルを選択し、指定したフォルダに移動させます。
まとめ VBAマクロでファイル移動を一括で(ダイヤログ:別のフォルダ:ディレクトリなど)行う方法【MoveFiles関数、FileDialog関数使用】
この記事では、VBAマクロでファイル移動を一括で(別のフォルダ:ディレクトリなど)行う方法【MoveFiles関数、FileDialog関数使用】について確認しました。
マクロをマスターして毎日を楽しんでいきましょう!(^^)/