Power Automate for desktop で 前月のフォルダから今月のフォルダにファイルをコピーする

こんにちは。
日本マイクロソフトの向井です。

こちらの記事では、マイクロソフトのRPA
**Power Automate for desktop で 前月のフォルダから今月のフォルダにファイルをコピーする方法**
すなわち
**フォルダN内にあるファイルをフォルダN+1にコピーする方法**
をご紹介します。

# 0. フローの全体像
大まかな流れは
①指定したフォルダー内にあるファルダ―の一覧を取得する
②フォルダー名から月の数字を取得する
③+1した月のフォルダーを作成する
④ファイルをコピーする
という流れになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/e9b6cc90-17eb-eb10-6e86-6742bebd2a64.png)


# 1. 指定したフォルダー内にあるファルダ―の一覧を取得する
「フォルダー内のサブフォルダーを取得」アクションを使用します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/edc4581e-f846-ecef-0846-15e16c75009f.png)

例）「売上」フォルダ内の「売上1月」,「売上2月」…などのフォルダ名を一覧で取得できます

## 設定
作業するフォルダを選択します。
例）「売上」フォルダ　など
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/bbb7c5ab-1444-2908-3f6f-9b79d9e409de.png)

一覧取得するフォルダの並び順を指定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/9149c29a-351a-8267-a440-2b6b97483fa1.png)

## 実行結果と解説
フォルダの一覧は変数Foldersに格納されます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/15d89935-81ec-9476-1e10-b1b5ddf8b0c0.png)

リストの一番上のアイテムはFolders[0]になります。
フォルダ名はFolders[0].Nameに格納されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/1c4cc90c-1364-dc46-2711-7e2b59795bad.png)

# 2. フォルダ名から数字を取り出す
「テキストのトリミング」アクションを使用します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/f292f6e4-73b7-30c7-10d4-b1caf68e832c.png)

例）「売上1月」というフォルダ名から1を取り出します。

## 設定
元のテキストに、元となるフォルダ名を設定し、数字部分を切り出します。
例）「売上1月」の「売上」と「月」の間の数字を切り出す
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/2d33a117-c3da-9188-8b9c-c031067bb9c7.png)
※画像の例では「フォルダ1」から「フォルダ」の後に続く「1」を切り出しています。

## 事項結果と解説
CroppedTextに切り出した数字がテキスト形式で格納されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/9517ef0a-0357-ae6a-d131-1858aa96f548.png)

# 3. 切り出した数字をテキスト型から数値型に変換する
「テキストを数値に変換」アクションを使用します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/05003820-d00e-dab1-2ba0-0135e387c04f.png)

## 設定
2.で切り出したCoppedTextを数値型に変換します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/46fc611a-049f-13dd-6344-2a447728bda8.png)

## 実行結果と解説
数値型になった値がTextAsNumberに格納されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/8d826611-462e-c864-95a2-806b08816989.png)

# 4. 数値に1をプラスする
「変数の設定」アクションを使用します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/f9b6bdf6-730a-9eba-5980-9df5cb48e885.png)

例）売上1月フォルダが最新の場合、売上2月フォルダを作成するために、1+1をします。

## 設定
新しい変数NewVarにTextAsNumber+1を格納します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/b8a1cf3b-9d58-f1b7-8c6c-f165e8e770d0.png)

## 実行結果と解説
TextAsNumberには1が入っているため、NewVar=1+1=2となります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/1528ab54-4eba-5fa4-1442-3f79f08d940d.png)

# 5. 新しいフォルダーを作成する
「フォルダーの作成」アクションを使用します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/2434bd9d-6615-6f39-594a-564a5826ced5.png)

## 設定
新しいフォルダを作成する場所を指定します。
例）売上フォルダ

新しいフォルダ名の数字部分にNewVarを使用します。
例）売上%NewVar%月
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/088a1772-36fd-0dd3-2d97-04b7f51eb968.png)

## 実行結果と解説
新しいフォルダ名がファルダ2になっていることが確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/0e986ba8-9113-6514-7d30-d497f14f235f.png)

# 6.ファイルをコピーする
「ファイルのコピー」アクションを使用します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/dd5a8f93-8415-545d-e1f5-c721978ee889.png)

## 設定
コピーするファイルを指定します。
コピー先のフォルダとしてNewFolderを指定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/264b293e-7acf-1460-dd46-4f9af7659037.png)

## 実行結果と解説
ファイルがコピーできたことを確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/8bc0fd88-ee8a-83d5-ce73-7fc812e180e9.png)

# まとめ
規則的に命名されたフォルダーを扱うシナリオなどに参考になればと思います。