Qiitaの質問で見つけたテーマです。割とよく使いそうな自動化なのでさっそく試してみます。
SharePointのドキュメントライブラリに、適当なひな形を用意しました。
スケジュールをトリガーにする
毎月1日にこのひな形ファイルを同じフォルダに、月の名前がわかるような名前を付けてコピーしたいと思います。したがって使うのは「スケジュール済みクラウドフロー」です。
トリガーの詳細オプションを開き、タイムゾーンを設定しておきます。
月初の朝9時に動かそうと思うので、初回は11/1の日本時間9時にします。お尻にZがついているのはUTC時間です。UTC時間は日本時間より9時間前なので、ちょうど0時にしておきます。
ひな形のコピーは「ファイルのコピー」は使わない
あとはひな形に名前を付けてコピーすればよいので、「ファイルのコピー」を使いたくなるところですが、ここが落とし穴。このアクションは名前を付けて保存ができないので、使った場合には後でファイル名変更が必要。ただこれが結構ハードルが高いので別の方法を使います。
そこで利用するのが、「ファイル コンテンツの取得」です。この時点では情報を持ってきているだけ。
取得ができたら、今度はSharePoint上に「ファイルの作成」をしてやります。ひとまずファイル名は適当に。ファイルコンテンツには、前のステップで取得したファイルコンテンツを動的なコンテンツから選択してやればOKです。
ここまで出来たら、一度テスト実行をしてみましょう。PowerAutomateで付けた名前でひな形のコピーが作成されています。
日付のファイル名を付ける
ファイル名には日付を使います。今回は使い勝手がよいようにaddDays関数を使っています。UTC時間に1日(24時間)を加えて、2023-11 のような文字列を作っています。
addDays(utcNow(),1,'yyyy-MM')
UTC時間の扱いについては、こちらのブログでいろいろ試していますので参考にしていただけると嬉しいです。