この関数について
ExcelVBA(マクロ)ではWindowsの新しいコマンドプロンプト(?)であるPowershellを実行することができます。会社のセキュリティ設定によっては実行できないものはあるかもしれません。この関数では「robocopy」コマンドを使用してフォルダを指定した場所にミラーリングします。このコマンドの優秀な点は、同じ場所に同じフォルダをミラーリングする場合、フォルダの差分のみをミラーリングできることです。そのため巨大なフォルダをまるごとミラーリングしても2回目以降の実行は更新されたファイルの容量分だけになります。私は簡易なバックアップ手段として採用していました。
関数コピペ ~コードをクリックするだけでコピー完了!~
使い方 ①引数
引数名 | 型 | 参照 | 省略 | 内容 |
---|---|---|---|---|
source_folder_path | String | ByVal | 不可 | コピー元のフォルダの絶対パス |
sync_folder_path | String | ByVal | 不可 | コピー先のフォルダの絶対パス |
only_copy_file_name | String | ByVal | 可 | 特定のファイルのみコピーしたい場合に指定する。ワイルドカードを使用可。指定しない場合は「*.*」を渡したものとみなす |
run_for_visible | Boolean | ByVal | 可 | Powershellの実行画面を見せるか否か True・・見せる False・・見せない 指定しない場合は「True」 |
wait_for_completion | Boolean | ByVal | 可 | Powershellの実行終了を待つか否か True・・待つ False・・待たない 指定しない場合は「True」 |
使い方 ②戻り値
この関数に戻り値はありません。
サンプルコード(クリックでコピー)
【結果】フォルダをミラーリングすることができました
サンプルコードを実行すると、インプットボックスが立ち上がり、フォルダパスの入力を受け付けます。コピー先のフォルダを作成後、メッセージを表示しユーザーが「はい」を選択するとフォルダのミラーリングを実行します。
関数リファレンスにはコピペで使用可能な便利関数を多数掲載!
関数リファレンスでは私が開発の中で必要になったコード部品を汎用化・関数化して公開しています。この記事で紹介した関数以外にもコピペで利用できる関数を多数用意しています。検索窓から必要な機能を検索してみましょう!解説記事も続々公開中。
当サイトで公開している関数はすべて下記ライセンスのもとで配布しています。 Copyright (c) 2024 VBA.funcref Released under the MIT license The MIT LicenseCopyright Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated d...
Comment