\ ポイント最大11倍! /

【PAD】今日の日付の名前でフォルダ・ファイルを作成する方法!

【当サイトはプロモーションを含んでいます】

じょじお

この記事では今日の日付を自動認識して、日付をもとに「2022-01-17」のような名前でフォルダ・ファイルを作成する方法について学習します。

目次

今日の日付の名前を付けてフォルダを作成する。

STEP
Power Automate for desktopを起動して新規フローを作成します。
STEP
「現在の日付を取得します」アクションを追加します。

▲「日時」グループの中の「現在の日付を取得します」アクションを追加します。

▲パラメーターはデフォルトのまま「保存」をクリックします。もし他の国の時間を使うときはシステムタイムゾーンの値を変更してください。

生成する変数:%CurrentDateTime%(Datatime型変数)

STEP
「datetimeをテキストに変換」アクションを追加します。

▲テキストグループの中の「datetimeをテキストに変換」アクションを追加します。

▲パラメータを入力します。

  • 変換するdatetime:%CurrentDateTime%
  • 使用する形式:カスタム
  • カスタム形式:yyyy-MM-dd

変換するdatetimeに渡している%CurrentDateTime%は「現在の日付を取得します」アクションが生成する変数です。

「使用する形式」はデフォルトで用意されている形式を使用するか、オリジナルの形式を使用するかを選択します。

カスタム形式には、「yyyy-MM-dd」という形式で渡してます。例えば2022年1月17日の場合「2022-01-17」という文字列が取得できます。小文字と大文字によって意味がかわるので注意してください。例えばMMをmmにすると違う結果になります。ここで使用できる記号については後述します。

STEP
「フォルダーの作成」アクションを追加します。

▲フォルダーグループの中の「フォルダーの作成」アクションを追加します。

▲パラメータを入力します。

  • 新しいフォルダーを次の場所に作成:フォルダーを作成するパスを指定します。
  • 新しいフォルダー名:%FormattedDateTime%

%FormattedDateTime% 変数は「datetimeをテキストに変換」アクションが生成する変数です。この変数を渡すことで「2022-01-17」という名前でフォルダーを作成します。

「2022-01-17_請求書」というように日付以外の文字列と組み褪せて命名する場合は%と%の間に文字列を挿入します。(例:「%FormattedDateTime_請求書%」)

生成される変数:NewFolder(フォルダー型変数)

このアクションの詳細な使い方については後述します。

STEP
フローが完成したので実行してみましょう。

▲フロー実行後に「フォルダーの作成」アクションに指定したパスをエクスプローラーで確認してみます。本日の日付の名前のフォルダーが作成されていることがわかります。

ぽこがみさま

日付の名前でフォルダーを作成することができました。

じょじお

ファイルを作成する場合も、同様にファイル名に%FormattedDateTime%を使えばOKです。

「datetimeをテキストに変換」アクションについて

日付はDatatime型という特殊な形式の変数で保存されます。この変数の値を直接フォルダ名として使用することはできないため、一度テキストに変換して使います。「datetimeをテキストに変換」アクションはDatatime型変数をテキストに変換する役割のアクションです。

テキストに変換する方法として「表示する形式」パラメータで次の2つのいずれかを選択します。

2つのテキストへ変換する方法

  • 標準
  • カスタム

「標準」の表示形式

「標準」はデフォルトで用意されている表示形式から選択して使います。

例:2022年1月17日 12:34:56の場合

設定値結果の例
短い日付形式2022/01/17
長い日付形式2022年01月17日
短い時刻形式12:34
長い時刻形式12:34:56
完全なdatetime(短い時刻形式)2022年1月17日 12:34
完全なdatetime(長い時刻形式)2022年1月17日 12:34:56
一般的なdatetime(短い時刻形式)2022/01/17 12:34
一般的なdatetime(長い時刻形式)2022/01/17 12:34:56
並び替え可能なdatetime2022-01-17T12:34:56
「datetimeをテキストに変換」アクション の デフォルトの表示形式

カスタム形式に使用できる記号

「カスタム」は、下の表の記号を用いてオリジナルの表示形式を作成することができます。

例:2022年01月09日(日曜日) 01:02:03の場合

記号意味
y年月2022年1月
yy西暦の下2桁22
yyy西暦4桁2022
yyyy西暦4桁2022
M月(桁を揃えない)1
MM月(桁を揃える)01
MMM月(桁を揃えない)1
d日(桁を揃えない)9
dd日(桁を揃える)09
ddd曜日(省略名)
dddd曜日(完全)日曜日
D年月日(桁を揃えない&文字列表記)2022年1月9日
h時(12時間表記&桁を揃えない)1
hh時(12時間表記&桁を揃える)01
H時(24時間表記&桁を揃えない)1
HH時(24時間表記&桁を揃える)01
m分(桁を揃えない)2
mm分(桁を揃える)02
s秒(桁を揃えない)3
ss秒(桁を揃える)03
tt午前/午後の表示午前
zzzUTCとの時間差+09:00
「datetimeをテキストに変換」アクション の カスタム表示形式 に使用できる記号
じょじお

個人的によく使うのは「yyyy-MM-dd-HHmmss」です。

「フォルダーの作成」アクションについて

「フォルダーの作成」アクションはフォルダーを作成することができます。

生成される変数:NewFolder(フォルダー型変数)

同じ名前のフォルダーが存在する場合の挙動は?

同じ名前のフォルダーが存在する場合、エラーは起きずフォルダーの作成アクションは実行をスキップして次のアクションが実行されます。 NewFolder変数の中身には既存の同名フォルダーの情報が格納されます。

同じ名前のフォルダーが存在して実行がスキップされたかどうか、どうやって判断するの?

NewFolder変数はFolder型変数です。アクション実行後にFolder型変数のプロパティを確認することで「フォルダーが存在してアクションがスキップされた」か「フォルダーを新規作成できた」かを判断できます。

【注意!】スラッシュはファイル名・フォルダ名に使用することができません!!!

日付によくつかわれる「/」スラッシュはファイル名・フォルダ名に含めることができません。このため例えば「2022/01/17」という文字列を「フォルダーの作成」アクションに渡してフォルダーを作成するとどうなるかというと、スラッシュが階層の意味にとらえられて下図のような3つのフォルダーが作成されます。

スラッシュを使ってフォルダを作成すると、階層構造の複数のフォルダが作成される。

Excelを今日の日付の名前を付けて保存する方法は?

STEP
Power Automate for desktopを起動して新規フローを作成します。
STEP
「Excelの起動」アクションを追加します。
Power Automate for desktopのExcelの起動アクション
STEP
「現在の日付を取得します」アクションを追加します。

▲「日時」グループの中の「現在の日付を取得します」アクションを追加します。パラメーターはデフォルトのまま「保存」をクリックします。もし他の国の時間を使うときはシステムタイムゾーンの値を変更してください。

生成する変数:%CurrentDateTime%(Datatime型変数)

STEP
「datetimeをテキストに変換」アクションを追加します。

▲テキストグループの中の「datetimeをテキストに変換」アクションを追加してパラメータを入力します。

  • 変換するdatetime:%CurrentDateTime%
  • 使用する形式:カスタム
  • カスタム形式:yyyy-MM-dd-HHmmss

変換するdatetimeに渡している%CurrentDateTime%は「現在の日付を取得します」アクションが生成する変数です。

「使用する形式」はデフォルトで用意されている形式を使用するか、オリジナルの形式を使用するかを選択します。

カスタム形式には、「yyyy-MM-dd-HHmmss」という形式で渡してます。例えば2022年1月17日23時59分12秒の場合「2022-01-17-235912」という文字列が取得できます。小文字と大文字によって意味がかわるので注意してください。例えばMMをmmにすると違う結果になります。ここで使用できる記号については後述します。

STEP
「Excelを閉じる」アクションを追加します。

▲「Excel」グループの中の「Excelを閉じる」アクションを追加します。

  • Excelインスタンス:%ExcelInstance%
  • Excelを閉じる前:名前を付けてドキュメントを保存
  • ドキュメント形式:Excelブック(xlsx)
  • ドキュメントパス:C:\Users\user\Desktop\請求書\請求書%FormattedDateTime%.xlsx

ドキュメントパスに%FormattedDateTime%変数を使います。

STEP
フローが完成したので実行してみましょう。

▲フロー実行後に「Excelを閉じる」アクションに指定したパスをエクスプローラーで確認してみます。本日の日付の名前でExcelが保存されていることがわかります。

Robinソースコード

Excel.LaunchExcel.Launch Visible: True LoadAddInsAndMacros: False Instance=> ExcelInstance
DateTime.GetCurrentDateTime.Local DateTimeFormat: DateTime.DateTimeFormat.DateAndTime CurrentDateTime=> CurrentDateTime
Text.ConvertDateTimeToText.FromCustomDateTime DateTime: CurrentDateTime CustomFormat: $'''yyyy-MM-dd-HHmmss''' Result=> FormattedDateTime
Excel.CloseExcel.CloseAndSaveAs Instance: ExcelInstance DocumentFormat: Excel.ExcelFormat.FromExtension DocumentPath: $'''C:\\Users\\user\\Desktop\\請求書\\請求書%FormattedDateTime%.xlsx'''

まとめ

じょじお

この記事では、日付を使ってフォルダ・ファイルに名前を付ける方法について学習しました。

ぽこがみさま

このブログではRPA・ノーコードツール・VBA/GAS/Pythonを使った業務効率化などについて発信しています。
参考になりましたらブックマーク登録お願いします!

Power Automate学習教材

Power AutomateをKindleで学びたい方はコチラ

▲Kindleと紙媒体両方提供されています。デスクトップフロー、クラウドフロー両方の解説がある書籍です。解説の割合としてはデスクトップフロー7割・クラウドフロー3割程度の比率となっています。両者の概要をざっくり理解するのにオススメです。

Power Automate for Desktopの基本をしっかり学習するのにオススメです。この本の一番のメリットはデモWebシステム・デモ業務アプリを実際に使ってハンズオン形式で学習できる点です。本と同じシステム・アプリを使って学習できるので、本と自分の環境の違いによる「よく分からないエラー」で無駄に躓いて挫折してしまう可能性が低いです。この点でPower Automate for desktopの一冊目のテキストとしてオススメします。著者は日本屈指のRPAエンジニア集団である『ロボ研』さんです。

Power Automate クラウドフローの入門書です。初心者の方には図解も多く一番わかりやすいかと個人的に思っています。

Microsoft 365/ Power Automate / Power Platform / Google Apps Script…

Power Automateを動画で学びたい方はコチラ

▲Udemyで数少ないPower Automateクラウドフローを主題にした講座です。セール時は90%OFF(1200円~2000円弱)の価格になります頻繁にセールを実施しているので絶対にセール時に購入してくださいね。満足がいかなければ返金保証制度がありますので安心してご購入いただけます。

お役に立てたらシェアお願いします!
  • URLをコピーしました!
  • URLをコピーしました!
目次