Display.SelectFileDialog.SelectFile Title: $'''対象ファイルを選択してください''' FileFilter: $'''TEST*.csv''' IsTopMost: True CheckIfFileExists: False SelectedFile=> SelectedFile ButtonPressed=> ButtonPressed IF ButtonPressed <> $'''Open''' THEN EXIT Code: 0 END File.RenameFiles.Rename Files: SelectedFile NewName: $'''OutDate''' KeepExtension: True IfFileExists: File.IfExists.Overwrite RenamedFiles=> SelectedFile File.Move Files: SelectedFile Destination: $'''保存先の絶対パス''' IfFileExists: File.IfExists.Overwrite MovedFiles=> SelectedFile # 以下、保存先のフォルダを開くアクションのため不要であれば削除 System.RunApplication.RunApplication ApplicationPath: $'''explorer''' CommandLineArguments: SelectedFile[0].Directory WindowStyle: System.ProcessWindowStyle.Normal
この処理は指定したファイルの名前を変更して、指定のフォルダに移動します
これの利用場面としてはWeb等から取得したcsvファイルなどをデータ保管用フォルダに格納します、さらにこの先の流れとしてPowerQueryを想定しています
PowerQueryは絶対パスで読み込み先を指定するので、この処理により前回取得時情報を更新するために活用します
この処理は1件だけの処理となっておりますが、実務上は複数のファイルを同様の操作を行うことが想定されるのでその場合はファイル数×作業頻度の度合いでかなり楽になります
さらにこの処理は最後に保管したフォルダをエクスプローラで開いていますが
これも後続作業を想定したものとなりますので不要であれば削除して問題ありません
フロー解説
1行目は対象となるファイルを指定するためのダイアログを表示させるアクションです
このアクションの設定項目としては2項目を編集します
「初期フォルダー」ダイアログ表示時に最初に開かれるフォルダの指定です
例コードでは空白となっております、この場合は前回開いたフォルダが開かれます
Webからのダウンロードファイルを想定している場合はここをダウンロードフォルダに設定したりします
「ファイルフィルター」ここで指定した文字列がファイルの制限になります
VBAの様に拡張子の制限では無く、拡張子を含めたファイル名の制限になります
この制限はワイルドカードの利用も可能となっております
例コードの場合では頭文字に「TEST」が含まれたcsvファイルを対象としています
ここをより明確に設定することで、同じcsvファイルであってもダイアログに表示させないことが可能となるのでファイル選択間違いを抑制出来ます
この画像は左がPADで表示したダイアログ、右はエクスプローラーの画面です
今回の場合は頭文字に「TEST」となっているものが条件です
そのため、同じ個所に保存されているcsvファイルでも「Sub_20221009.CSV」が表示されていないことが確認できます
そして、ワイルドカードを利用することでダウンロードした際に日時などが追記されるファイル名となっていたとしても対象に含めることが可能です
この指定をより細かく指定すれば、ファイル名で22年10月分だけ表示する、という事も可能です
2~4行目はダイアログでキャンセルをした際に処理を終了させるアクションです
ここを作成していないと後続でファイル未選択によりエラーとなります
ダイアログの開くボタンをクリックすると「Open」が返されるので、それ以外のものであれば処理は終了させています
ここで変更するのは「新しいファイル名」の1つで十分です
ここを最終的に保存をしておくファイル名を指定します
基本的に処理の流れ上、同じ場所にファイルが存在する可能性はありませんが
あった場合には上書きする設定にしています
ちなみに、このアクション以降含め生成された変数は「SelectedFile」に格納しています
これは後続処理がこのファイルを対象としているので変数をアクション数分作成する意味が無いからです
ダイアログで返された変数をどんどん上書きしていきます
また拡張子を保持する設定にしているので「.csv」は指定に含めません
6行目はファイルを指定フォルダに移動しています
ここで設定するのは「宛先フォルダー」です
移動先のフォルダを絶対パスで指定します
この移動の際に同じファイル名があった場合は上書きしています
処理の想定が古いファイルのデータを上書きすることなのでここは重要です
7行目はコメントで、8行目は保存先のフォルダをエクスプローラーで開きます
これはこの保存後に使用するファイルが保存されているところを開くことで使用ファイルを開く手間を少し楽にする目的で追加しています
ここは完全に蛇足の処理なので不要であれば2行とも削除して問題ありません
8行目の処理については以下の記事で解説しています