【VBA】1分ごとにフォルダ内のファイルを自動移動するマクロの作り方【初心者向け】

エクセル

あなたはファイルを定期的に移動させるのが面倒だと思ったことはありませんか?

各メンバーに作ってもらいクラウドに保存してもらったファイルを、作業しやすいように自分のPCへ移動したいときなど、いちいちフォルダを開いて移動するのは面倒ですよね?

エクセルのマクロを使えば、ファイルを自動で移動できます。

今回は「エクセルで1分ごとにフォルダ内のファイルを自動移動するマクロの作り方」を紹介します。

これでファイルの移動作業が無くなります。

エクセルで1分ごとにフォルダ内のファイルを自動移動するマクロの作り方

エクセルで1分ごとにフォルダ内のファイルを自動移動するマクロの作り方です。

マクロを作るときは、「開発」タブを使います。
開発タブが出ていない方は、下のリンクで出し方を紹介していますので、まずは準備をお願いします。
→エクセルで開発タブを表示する方法

0.最初の状態

フォルダAにいくつかファイルがあり、フォルダBは空っぽです。

1.「alt」+「F11」を押す

2.「Sheet1(Sheet1)」をクリック

3.コードを入力

※黒く塗っているところには、適切なフォルダパスを入れてください。

赤枠部のコードです。

  Option Explicit

Dim NextRunTime As Date

' フォルダパスを設定
Const SourceFolder As String = "C:\********\Desktop\A"
Const DestinationFolder As String = "C:\********\Desktop\B"

Sub StartFileMove()
    ' 最初のタイマーを設定
    ScheduleNextRun
    MsgBox "1分ごとにファイル移動を開始します。"
End Sub

Sub StopFileMove()
    ' タイマー停止
    On Error Resume Next
    Application.OnTime EarliestTime:=NextRunTime, Procedure:="MoveFiles", Schedule:=False
    MsgBox "タイマーを停止しました。"
End Sub

Sub MoveFiles()
    Dim FileName As String
    Dim SourcePath As String
    Dim DestinationPath As String

    ' ソースフォルダ内のファイルを取得
    FileName = Dir(SourceFolder & "\*.*")
    Do While FileName <> ""
        SourcePath = SourceFolder & "\" & FileName
        DestinationPath = DestinationFolder & "\" & FileName
        
        ' ファイルを移動
        FileCopy SourcePath, DestinationPath
        Kill SourcePath
        
        ' 次のファイル
        FileName = Dir()
    Loop

    ' 次のタイマーを設定
    ScheduleNextRun
End Sub

Private Sub ScheduleNextRun()
    ' 次の実行時間を設定
    NextRunTime = Now + TimeValue("00:01:00")
    Application.OnTime EarliestTime:=NextRunTime, Procedure:="MoveFiles", Schedule:=True
End Sub

※「********」には適切なフォルダパスを入れてください。

コードを入力したら、コードの入力画面を閉じて下さい。

4.「開発」 →「マクロ」をクリック

「開発」タブ →「マクロ」アイコンをクリックします。

5.「Sheet1.MoveFiles」 →「実行」をクリック

「Sheet1.MoveFiles」 →「実行」をクリックします。

6.A→Bへファイルが自動で移動

フォルダAからフォルダBへファイルが自動で移動しました。

これなら、いちいちフォルダをチェックしなくてもいいですね!

まとめ

エクセルで1分ごとにフォルダ内のファイルを自動移動するマクロの作り方のまとめです。

1.「alt」+「F11」を押す

2.「Sheet1(Sheet1)」をクリック

3.コードを入力

4.「開発」 →「マクロ」をクリック

5.「Sheet1.MoveFiles」 →「実行」をクリック

6.A→Bへファイルが自動で移動

これでファイル移動がラクになりました!

コメント

タイトルとURLをコピーしました