バックアップアプリを作るチュートリアル

本連載では、Microsoftの提供する次のチュートリアルを進めながらPower Automateの使い方を学んでいる。前回まではMicrosoft Excelの起動やファイルのちょっとした編集を行った。Microsoft Excelファイルの新規作成やデータ追加を簡単に行えることが実感できたんじゃないかと思う。

  • Power Automateでサンプルアプリケーションを開発しているところ

    Power Automateでサンプルアプリケーションを開発しているところ

今回は、フォルダ名を変更するという操作を追加する。現在のサンプルアプリケーションのままでは使いにくいのだ。

バックアップ先のフォルダ名を変更する

本連載で取り上げているアプリケーションはチュートリアルのアプリケーションなので、当然ながら実装されている機能は必要最小限のものだ。バックアップといっても選択したフォルダをまるごとコピーするだけだし、それ以上でもそれ以下でもない。このままでも使えないこともないのだが、いくつかの点で不満が残る。

特に不便なのが繰り返しフルバックアップが取れない点にある。フォルダをコピーしているだけなので、一旦バックアップを取ると、次のバックアップはエラーになるのだ。すでにフォルダが存在しているのでコピーできないのである。

解決方法は複数あるが、ここではシンプルにバックアップしたフォルダのフォルダ名を変更する方法で回避しよう。バックアップしたフォルダの名前を「フォルダ名-年月日-時分秒」に変更する。これらはまず名前が重複することはない(と思う)。しかも、フォルダ名にバックアップ時の日時が含まれているので後からでも使いやすいという利点もある。早速チュートリアルのサンプルアプリケーションを書き換えていこう。

フォルダ名を変更する機能を追加する

このチュートリアルアプリケーションは現在日時を取得するアクションを使っている。現在日時を取得し、それをMicrosoft Excelファイルにログデータとして記録するためだ。次の部分にアクションが作成されている。

  • すでに追加されている現在日時を取得するアクション

    すでに追加されている現在日時を取得するアクション

このアクションをフォルダ名を変更する前の段階へ移動させ、その後にフォルダ名を変更するようにすればよさそうだということがわかる。ということで、フォルダをコピーした後までこのアクションを移動させる。

  • 現在日時を取得するアクションをフォルダコピー後へ移動させる

    現在日時を取得するアクションをフォルダコピー後へ移動させる

このままでは使えないので、この日時を文字列へ変換するアクションを追加する。

  • 「datetimeをテキストに変換」アクションを追加

    「datetimeをテキストに変換」アクションを追加

形式を「カスタム」に変更し、目的のフォーマットを指定する。ここでは「yyyyMMdd-HHmmss」を指定する。

  • datetimeを指定のフォーマットへ変更する

    datetimeを指定のフォーマットへ変更する

ここで指定できるフォーマットは次のページにドキュメントがまとまっているので、ほかのフォーマットにする場合には参考にして指定を行う。

準備ができたので、「フォルダーの名前を変更」アクションを追加する。

  • 、「フォルダーの名前を変更」アクションを追加

    、「フォルダーの名前を変更」アクションを追加

変更前は「%CopiedFolder%」で、変更後を「%CopiedFolder%-%FormattedDateTime%」をする。これでフォルダ名が目的どおりに変更されるはずだ。

  • フォルダ名の変更を指定

    フォルダ名の変更を指定

これで書き換えは完了だ。動作を確認してみよう。

実行して動作を確認

書き換えたアプリケーションを実行する。

  • 書き換えたアプリケーションを実行する

    書き換えたアプリケーションを実行する

バックアップするフォルダを選択する。

  • バックアップするフォルダを選択

    バックアップするフォルダを選択

バックアップが完了すると次のようになる。これまではフォルダ名のままコピーされていたが、今度は日時を含んだフォルダ名に変更されていることがわかると思う。

  • 日時を含んだフォルダ名としてコピーされている

    日時を含んだフォルダ名としてコピーされている

何度か繰り返して同じフォルダのバックアップをとってもエラーなく動作する。次のように別のフォルダ名でコピーされることを確認することができる。

  • 同じフォルダのバックアップが取れていることを確認

    同じフォルダのバックアップが取れていることを確認

ちょっとした変更だが、この変更をおこなうだけでかなり実用的なアプリケーションになってくる。

もちろん改良の余地はあるが、まずは動くものを作ってみよう

プログラミングに詳しい方なら、この方法にはちょっと問題があることにはすぐに気がつくだろう。今回使ったのはフォルダをコピーしたあとにフォルダ名を変更するという方法だ。どちらかというと、コピーするときにフォルダ名を変更する、もしくは、コピー専用のフォルダを用意してコピーした後にファイル名やパスを変更するのが安全な手順ということになる。

しかし、Power Automateで作るアプリケーションの用途は限定的で、自分だけとか社内の特定のシーンだけでの使用が想定されたものだ。最初から汎用性を考慮して作るよりも、まずは確実に動作するものを短いスパンで作っては動かしてみるという方を優先した方がよいんじゃないかと思う。

これまでのチュートリアルを触ってきて気がついていると思うが、ローコードといっても誰でも無条件で使えるほど簡単なものではない。やはり演習は必要だし、手を動かして体験し学習する必要がある。仕組み自体はそれほど難しいものではないので、繰り返し演習を行って慣れていくことが大切だ。

参考