F0000064_フォルダをミラーリング(ミラーフォルダを作成)する

フォルダをミラーリング(ミラーフォルダを作成)する 関数リファレンス

この関数について

ExcelVBA(マクロ)ではWindowsの新しいコマンドプロンプト(?)であるPowershellを実行することができます。会社のセキュリティ設定によっては実行できないものはあるかもしれません。この関数では「robocopy」コマンドを使用してフォルダを指定した場所にミラーリングします。このコマンドの優秀な点は、同じ場所に同じフォルダをミラーリングする場合、フォルダの差分のみをミラーリングできることです。そのため巨大なフォルダをまるごとミラーリングしても2回目以降の実行は更新されたファイルの容量分だけになります。私は簡易なバックアップ手段として採用していました。

関数コピペ ~コードをクリックするだけでコピー完了!~



使い方 ①引数

引数名参照省略内容
source_folder_pathStringByVal不可コピー元のフォルダの絶対パス
sync_folder_pathStringByVal不可コピー先のフォルダの絶対パス
only_copy_file_nameStringByVal特定のファイルのみコピーしたい場合に指定する。ワイルドカードを使用可。指定しない場合は「*.*」を渡したものとみなす
run_for_visibleBooleanByValPowershellの実行画面を見せるか否か True・・見せる False・・見せない 指定しない場合は「True」
wait_for_completionBooleanByValPowershellの実行終了を待つか否か True・・待つ False・・待たない 指定しない場合は「True」

使い方 ②戻り値

この関数に戻り値はありません。

サンプルコード(クリックでコピー)






【結果】フォルダをミラーリングすることができました

サンプルコードを実行すると、インプットボックスが立ち上がり、フォルダパスの入力を受け付けます。コピー先のフォルダを作成後、メッセージを表示しユーザーが「はい」を選択するとフォルダのミラーリングを実行します。

ミラーリングを実行すると、コピー元にはないコピー先のフォルダ・ファイルはすべて削除されます。設定には気を付けましょう。

関数リファレンスにはコピペで使用可能な便利関数を多数掲載!

関数リファレンスでは私が開発の中で必要になったコード部品を汎用化・関数化して公開しています。この記事で紹介した関数以外にもコピペで利用できる関数を多数用意しています。検索窓から必要な機能を検索してみましょう!解説記事も続々公開中。
当サイトで公開している関数はすべて下記ライセンスのもとで配布しています。
Copyright (c) 2024 VBA.funcref
Released under the MIT license

The MIT License
Copyright Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated d...

Comment