5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Power Automate Desktopでサクッと複数ファイルのコピー&名前変更してみた!

Last updated at Posted at 2023-12-22

毎月のファイルのコピー&名前変更めんどくさい…

毎月同じファイルをコピーして、1個ずつ名前変更するのってめんどくさいー:frowning2:
毎月のことなんだから勝手に作ってくれたらいいのに…

先日Power Automate Desktopという自動化ツールについて学びました。

そこで今回はPower Automate Desktopを使ってサクッと複数ファイルのコピー&名前変更をしてみたいと思います:relaxed:

できたのがコチラ!

今回コピー&名前変更をしたのは、毎月2回今後の収支の推定を更新する際に使用するアップロード用ファイルです!
1ファイルにつき200件ほどしかアップできなかったり、支払と請求、修正と追加は分けないといけなかったりで、1回につき9~12ファイルほど作成します…:sweat:
原紙をコピーして名前を変更する…単純作業だからこそめんどくさいと思っていたので、ワンクリックでできるのは嬉しいですっ:laughing:

作成手順!

①新しいフローを作成する

「+新しいフロー」をクリックし、フロー名を入力して「作成」をクリックします。
image.png

②フォルダ内のファイルを取得

アクション「フォルダ内のファイルを取得」を追加し、コピーする原紙が入っているフォルダを指定します。
image.png

ちなみに今回コピーする原紙は下記の名前です。
image.png

③ファイルのコピー

アクション「ファイルのコピー」を追加し、コピーするファイルの変数とコピーしたファイルの保存先のフォルダを指定します。
image.png

④ファイルの名前の変更_その1(先月の年月を入力する)

 1.現在の日時の取得

アクション「現在の日時の取得」を追加します。
image.png

 2.加算する日時

アクション「加算する日時」を追加し、変数を指定の上、加算に「-1」と入力、時間単位を「月」とします。
(ファイル名に先月の年月を入力したいため)
image.png

 3.変数の設定

アクション「変数の設定」を追加し、値を下記の通り入力します。
image.png

 4.ファイルの名前を変更する

アクション「ファイルの名前を変更する」を追加し、コピーしたファイルの「年月」部分を置換するように設定します。
image.png

⑤ファイルの名前の変更_その2(現在の年月日を入力する)

アクション「ファイルの名前を変更する」を追加し、ファイル名の最後に現在の年月日を入力する設定をします。
image.png

⑥実行→→→できた!

実行すると、原紙からコピーされ、ちゃんとファイル名が変更されていました:clap:
image.png

フローのソースコード(Robin)

Folder.GetFiles Folder: $'''C:\\Users\\Documents\\推定明細アップ資料\\アップロード原紙''' FileFilter: $'''*''' IncludeSubfolders: False FailOnAccessDenied: True SortBy1: Folder.SortBy.NoSort SortDescending1: False SortBy2: Folder.SortBy.NoSort SortDescending2: False SortBy3: Folder.SortBy.NoSort SortDescending3: False Files=> Files
File.Copy Files: Files Destination: $'''C:\\Users\\Documents\\推定明細アップ資料''' IfFileExists: File.IfExists.DoNothing CopiedFiles=> CopiedFiles
DateTime.GetCurrentDateTime.Local DateTimeFormat: DateTime.DateTimeFormat.DateAndTime CurrentDateTime=> CurrentDateTime
DateTime.Add DateTime: CurrentDateTime TimeToAdd: -1 TimeUnit: DateTime.TimeUnit.Months ResultedDate=> sengetuDateTime
SET sengetu TO $'''%sengetuDateTime.Year%%sengetuDateTime.Month%'''
File.RenameFiles.RenameReplaceText Files: CopiedFiles TextToReplace: $'''年月''' ReplaceWith: sengetu IfFileExists: File.IfExists.DoNothing RenamedFiles=> RenamedFiles
File.RenameFiles.RenameAddDateOrTime Files: RenamedFiles DateTimeToAdd: File.DateTimeToAdd.Current DateTimePosition: File.AddTextPosition.AfterName DateTimeSeparator: File.Separator.Underscore DateTimeFormat: $'''yyyyMMdd''' IfFileExists: File.IfExists.DoNothing RenamedFiles=> RenamedFiles2

できあがったものを上司に見せてみた

上司に「毎月繰り返してるファイルのコピーと名前変更を自動化できるように作ってみましたー!見てくださいー!」と言って、フローを実行する様子を見てもらいました。
上司からの感想は、「Power Automateかー!毎月繰り返しの作業にかかる時間が減るのはいいね!」とのことでした:relaxed:

「これ以外にも使えたらいいなと思うんですが、他にファイルとかフォルダとか繰り返し作っているものってありますか?」と聞いてみたところ、「うーん、今のところないかなー」ということだったので、今回の内容を広げるのは難しそうでした…

「でも、Power AutomateだったらWebのデータ抽出とかもできるだろうから、決裁のシステムから必要なデータだけ取るとかそういうのもできるかもね。セキュリティ部分で引っかかっちゃうかもしれないけど。」とお話しいただいたので、今後他の部分にも使っていけないか考えたいと思います:fist:

最後に!

今回はPower Automate Desktopを使ってサクッと複数ファイルのコピー&名前変更に挑戦してみました。
毎月手作業でやっていた内容がワンクリックでできて感動しました!
他にもできることは多々あると思うので、今後もいろいろ試していきたいなと思います。

最後までご覧いただき、ありがとうございました:relieved:

5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?