事務職員のPower Automate Desktopやってみた~今月フォルダ新規作成→先月フォルダからファイルコピー・名前変更編~

毎月とあるファイルを作成し、年度、月のフォルダで管理する。
そんなルーティン業務がよくあると思います。
そんな時に役立つ『今月フォルダ新規作成→先月フォルダからファイルコピー・名前変更』を自動で行うフローを紹介します。

0.はじめに

 ※フォルダは『・・・\PADてすと\R3\2月』のように年度,月としています。
  (フォルダパスはご自身の環境に合わせて適宜変更してください。)
 ※ファイルは『てすと4.2.1』のように名前,日付(Y.M.D)としています。

1.フローの概要

 本フローはメインフローと3つのサブフローで構成しています。
  ・メインフロー:Main
  ・サブフロー1:hensu(日時の変数のフロー)
  ・サブフロー2:foldermake(フォルダを新規作成するフロー)
  ・サブフロー3:filecopy(ファイルのコピー・名前変更のフロー)

2.サブフロー1:hensu(日時の変数のフロー)

 以下で紹介しているサブフローを作成します。
 これ以降に日付に関する変数が出てきた場合は、このサブフローで作成したものです。
 officeworker365.hatenablog.com
 

3.サブフロー2:foldermake(フォルダを新規作成するフロー)

 年度,月で管理しているフォルダに,今月分のフォルダを新規作成します。
 ただし,4月の場合は年度フォルダが存在しないので,
 『今年度フォルダが存在しない場合は,まずそれを作成する』フローをまず作成します。
 アクション『フォルダが存在する場合』を検索し、ダブルクリックします。
 
 
 以下を設定し、保存します。
  フォルダーが次の場合:存在しない
  フォルダーパス:C:\Users\●●\Desktop\PADてすと\%Rnendoreiwatext%
  (●●はPCのユーザー名なので、黒塗りしています。)
  (フォルダパスはご自身の環境に合わせて適宜変更してください。)
 

 フローに以下が追加されます。
 

 続けて、アクション『フォルダーの作成』を検索し、ダブルクリックします。
 

 以下を設定し、保存します。
  新しいフォルダーを次の場所に作成:C:\Users\●●\Desktop\PADてすと
  新しいフォルダー名:%Rnendoreiwatext%
  ※生成された変数(変数の名前)は変更可能
   ここでは、デフォルトの『NewFolder』を使用
 

 追加されたアクションを先ほど作成したアクションの間に入れます。
 

 あとは、アクション『キーの送信』を繰り返し以下のフローを作成します。
 

 Windowsキー+R(ファイル名を指定して実行)
  ↓
 フォルダパスの入力
  ↓
 Enter
  ↓
 Controlキー+Shiftキー+N(新規フォルダ作成)
  ↓
 新規フォルダ名入力
  ↓
 Enter

 【Windowsキー+R(ファイル名を指定して実行)】
  「送信するテキスト」に『{LWin}({R})』を設定し保存します。
  (Windowsキーは「修飾キーの挿入」からも選択できます。)
 

 【フォルダパスの入力】
 「送信するテキスト」に『C:\Users\●●\Desktop\PADてすと\%Rnendoreiwatext%』を設定し保存します。
 

 【Enter】
 「送信するテキスト」に『{Return}』を設定し保存します。
  (Enterは「特殊キーの挿入(その他)」からも選択できます。)
 

 【Controlキー+Shiftキー+N(新規フォルダ作成)】
 「送信するテキスト」に『{Control}({Shift}({N}))』を設定し保存します。
  (ControlキーとShiftキーは「修飾キーの挿入」からも選択できます。)
 

 【新規フォルダ名入力】
 「送信するテキスト」に『%monthgatutext%』を設定し保存します。
 

 【Enter】
 「送信するテキスト」に『{Return}』を設定し保存します。
  (Enterは「特殊キーの挿入(その他)」からも選択できます。)
 

 以上、サブフロー2:foldermake(フォルダを新規作成するフロー)は以下のようなフローになります。
 

4.サブフロー3:filecopy(ファイルのコピー・名前変更のフロー)

 以下の流れで整理します。
  4-1:コピーするフォルダの変数作成
   ↓
  4-2:コピーするファイルの変数作成
   ↓
  4-3:コピー・名前変更
 

4-1:コピーするフォルダの変数作成

 先月フォルダに保存されているファイルを、上記で作成した今月フォルダにコピーし、今月の日付に変更します。
 ただし、4月の場合は前年度の3月のフォルダからファイルをコピーするため、『4月の場合は前年度3月になる』、
 『4月以外の場合は今年度の先月になる』変数を設定します。

 アクション『If』を選択し、ダブルクリックします。
  

 以下を設定し、保存する。
  最初のオペランド :%month% 
  演   算   子:と等しい(=)
  2番目のオペランド:4
 

 フローに以下が追加される。
 

 続けて、アクション『加算する日時』を検索し、ダブルクリックします。
 

 以下を設定し、保存する。
  日  時:%CurrentDateTimenendoreiwa%
  加  算:-1
  時間単位:年
  ※生成された変数(変数の名前)は変更可能
   ここでは、『nendoreiwacopyyou』にする。
 

 追加されたフローを先ほど作成した『if』と『End』の間に入れる。
 

 同様に、アクション『if』を検索し、以下を設定する。
  最初のオペランド :%month%
  演   算   子:と等しくない(<>)
  2番目のオペランド:4
 

 続けて、アクション『加算する日時』を検索し、以下を設定する。
  日  時:%CurrentDateTimenendoreiwa%
  加  算:0
  時間単位:年
  ※生成された変数(変数の名前)は変更可能
   ここでは、先程と同じ『nendoreiwacopyyou』にする。
 

 先程のフローも含め、以下のとおりフローを並び替える。
 

 次に、アクション『変数の設定』を検索し、ダブルクリックします。
 

 宛先に『%nendoreiwacopyyou.Year%』を設定し、保存する。
 ※設定(変数の名前)は変更可能
  ここでは、『nendoreiwacopyyouYear』にする。
 

 次に、アクション『数値をテキストに変換』を検索し、ダブルクリックします。
 

 以下を設定し、保存する。
  変換する数値:%nendoreiwacopyyouYear%
  (『小数点以下の桁数』、『桁区切り記号を使う』はそのまま)
  ※生成された変数(変数の名前)は変更可能
   ここでは、『nendoreiwacopyyouYeartext』にする。
 

 次に、アクション『テキストの結合』を検索し、ダブルクリックします。
 

 以下を設定し、保存する。
  結合するリストを指定:R%nendoreiwacopyyouYeartext%
  (『リスト項目を区切る区切り記号』はそのまま)
  ※生成された変数(変数の名前)は変更可能
   ここでは、『RnendoreiwacopyyouYeartext』にする。
 

 これで、『4月の場合は前年度3月になる』、 『4月以外の場合は今年度の先月になる』変数『RnendoreiwacopyyouYeartext』が完成しました。

4-2:コピーするファイル名、変更後のファイル名の変数作成

 ファイルは『てすと4.2.1』のように名前,日付(Y.M.D)としてるので、
 この形式でコピーするファイル(先月)及び変更後のファイル(今月)の変数を作成します。

 【コピーするファイル(先月)】
 アクション『テキストの結合』を検索し、ダブルクリックします。
 

 以下を設定し、保存する。
  結合するリストを指定:てすと%sengetugessyobireiwaYMDtext%.xlsx
  (『リスト項目を区切る区切り記号』はそのまま)
  ※生成された変数(変数の名前)は変更可能
   ここでは、『testsengetugessyobireiwaYMDtextxlsx』にする。
  ※コピーされる側は、拡張子『.xlsx』が必要です。
 

 【変更後のファイル(今月)】
 同様に、アクション『テキストの結合』を検索し、以下を設定する。
  結合するリストを指定:てすと%gessyobireiwaYMDtext%
  (『リスト項目を区切る区切り記号』はそのまま)
  ※生成された変数(変数の名前)は変更可能
   ここでは、『testgessyobireiwaYMDtext』にする。
 

4-3:コピー・名前変更

 アクション『ファイルのコピー』を選択し、ダブルクリックします。
 

 以下を設定し、保存する。
  コピーするファイル:C:\Users\●●\Desktop\PADてすと\%RnendoreiwacopyyouYeartext%\%sengetugatutext%\%testsengetugessyobireiwaYMDtextxlsx%
  宛先フォルダー:C:\Users\●●\Desktop\PADてすと\%Rnendoreiwatext%\%monthgatutext%
  ファイルが存在する場合:何もしない
  ※生成された変数(変数の名前)は変更可能
   ここでは、デフォルトの『CopiedFiles』にする。
 

 続いて、アクション『ファイルの名前を変更する』を検索し、ダブルクリックします。
 

 以下を設定し、保存する。
  名前を変更するファイル:C:\Users\●●\Desktop\PADてすと\%Rnendoreiwatext%\%monthgatutext%\%testsengetugessyobireiwaYMDtextxlsx%
  名前の変更方法:新しい名前を設定する
  新しいファイル名:%testgessyobireiwaYMDtext%
  拡張子を保存する:有効
  ファイルが存在する場合:何もしない
  ※生成された変数(変数の名前)は変更可能
   ここでは、デフォルトの『RenamedFiles』にする。
 

 以上、サブフロー3:filecopy(ファイルのコピー・名前変更のフロー)は以下のようなフローになります。
 

5.メインフロー:Main

 アクション『サブフローの実行』より、各サブフローを並べ以上で完成です。