無償化された「Power Automate Desktop」の基本的な使い方や、「テキスト」アクションをつかってできることを中心に解説します。
アクション|テキストの操作一覧
「Power Automate Desktop」で設定できるテキストを操作するためのアクションです。
内容 | 項目 |
テキストに行を追加 | テキストの値に新しい行を追加します |
サブテキストの取得 | テキスト値からサブテキストを取得します |
テキストをパディング | 既存のテキストの左または右に文字を追加することによって固定長のテキストを作成します |
テキストのトリミング | 既存のテキストの先頭または末尾から空白文字(スペース、タブ、改行など)がすべて削除されます |
テキストを反転 | テキスト文字列の文字の順序を逆にします |
テキストの文字の大きさを変更 | テキストの文字の大きさを大文字、小文字、タイトルの文字の大きさ、または文の文字の大きさに変更します |
テキストを数値に変換 | 数値のテキスト表現を、数値を含む変数に変換します |
数値をテキストに変換 | 指定された形式を使って数値をテキストに変換します |
テキストを datetime に変換 | 日付/時刻値のテキスト表現を datetime 値に変換します |
datetime をテキストに変換 | 指定されたカスタム形式を使って、datetime 値をテキストに変換します |
ランダム テキストの作成 | ランダムな文字で構成される指定された長さのテキストを生成します。これはパスワードの生成に役立ちます。 |
テキストの結合 | 項目を指定した区切り記号で区切って、リストをテキスト値に変換します |
テキストの分割 | 指定された区切り記号または正規表現によって区切られたテキストの部分文字列を含むリストを作成します |
テキストの解析 | テキストを解析して、指定されたサブテキストまたは正規表現パターンの最初の出現箇所またはすべての出現箇所を検索します |
テキストを置換する | 指定されたサブテキストの出現箇所すべてを別のテキストに置き換えます。正規表現と同時に使うこともできます。 |
正規表現のエスケープ テキスト | 文字の最小セット(\, *, +, ?, |, {, [, ], ^, $, ., #, 空白)をエスケープ コードに置き換えてエスケープします |
実例|「テキスト」を使ったコード採番
「テキスト」アクションをつかってコード採番の自動化をご紹介します。
システムなどでコード登録をする場合、コードの桁数が固定化されていることを想定しています。
こちらの例では、数字から「10桁の数字」を生成する方法を解説します。
こちらのエクセル ファイルを使います。
A列に入力されている数字を「10桁の数字」に変換して、B列に入力をします。
こちらが実行結果です。
B列に「10桁の数字」が入力されていることが確認できます。
ゼロからはじまる数字を表示させるために、B列の書式は「文字列」に設定されています。
今回のフローはこのようになっています。
以下、ひとつずつ順を追ってご説明をします。
手順1|Excel の起動
エクセル ファイル「テキスト‗実例.xlsx」を開きます。
参考:【Power Automate Desktop】エクセルでできることや使い方を紹介
手順2|Excel ワークシートから最初の空の列や行を取得
手順1で指定したエクセル ファイル「テキスト‗実例.xlsx」から、「最初の空の列」と「最初の空の行」を取得します。
エクセルでデータが入力されている行が「11」、列が「2(B列のこと)」となっています。
取得される変数の値はこちらです。
行列ともにその次の値(行が「12」、列が「3(C列のこと)」)が取得されていることが確認できます。
変数名 | 値 |
FirstFreeColumn | 3 |
FirstFreeRow | 12 |
手順3|Loop
手順2で取得した変数「FirstFreeRow」をつかって、Loopアクションで繰り返し処理を指定します。
こちらでは、パラメーター「終了」に「%FirstFreeRow – 1%」と入力をしています。
先ほど取得した変数「FirstFreeRow」には値「12」が代入されていますので、そこから「1」を差し引いた数字(「11」)を指定しています。
参考:【Power Automate Desktop】ループ処理の使い方を解説
手順4|Excel ワークシートから読み取り
手順3で取得した変数「Loopindex」をつかって読み取り値を設定します。
パラメーター「先頭列」を「1」と入力することによって、A列を指定しています。
また、パラメーター「先頭行」を変数「Loopindex」とすることによって、繰り返し処理がおこなわれて「2から11まで」の値が順番に入力されます。
手順5|テキストをパディング
こちらの「合計長」でコードの桁数となる「10」を指定しています。
手順6|Excel ワークシートに書き込み
手順5で生成された変数「PaddedText」の値をエクセルに書き込みます。
ここでは「列」に「2」と入力することによって、B列を指定しています。
「行」については、手順4と同じで、繰り返し処理がおこなわれて「2から11まで」の値が順番に入力されます。
手順6|Excel を閉じる
さいごにエクセル ファイルを閉じます。
「テキスト」の具体的な使い方
かんたんな具体例を用いて「テキスト」アクションの使い方をご紹介します。
テキストに行を追加
テキストの値に新しい行を追加します。
例のとおり、「元のテキスト」に「追加するテキスト」を加えるときに使用します。
新しい行にテキストが追加されていることが確認できます。
サブテキストの取得
テキストからサブテキストを取得します。
「元のテキスト」から指定した条件にもとづいて文字を抽出します。
こちらは文字「あいうえお」から「えお」の部分を抽出しています。
ここでは、文字の位置「3」としても、前から3番目の「う」ではない点にご注意ください。
指定した文字の位置の「つぎの文字」から取得が開始されます。
テキストをパディング
既存のテキストの左または右に文字を追加することによって固定長のテキストを作成します。
こちらでは、テキストの長さである「合計長」を「10」に指定しています。
そのうえでテキスト値「1234」にテキスト値「0」を追加しています。
例えば、「10桁に固定されたコード番号」を採番する場合などに使用します。
テキストのトリミング
既存のテキストの先頭または末尾から空白文字(スペース、タブ、改行など)がすべて削除されます。
こちらでは、テキスト「あいうえお 」(「お」の右側に全角スペースが3つあります)をトリミングした結果、テキスト「あいうえお」が表示されました。
テキストを反転
テキスト文字列の文字の順序を逆にします。
テキスト「あいうえお」を指定した場合、テキスト「おえういあ」が取得されます。
テキストの文字の大きさを変更
テキストの文字の大きさを大文字、小文字、タイトルの文字の大きさ、または文の文字の大きさに変更します。
こちらでは、変更できる4種類の「変換先」の結果について、2つの例をつかって確認をします。
例1では「Sample text」を4種類それぞれの「変換先」をつかって変更しています。
また、例2では「sample text」をおなじように変更しています。
変換先 | 例1:「Sample text」 | 例2:「sample text」 |
大文字 | SAMPLE TEXT | SAMPLE TEXT |
小文字 | sample text | sample text |
タイトルの文字の大きさ | Sample Text | Sample Text |
文の文字の大きさ | Sample text | Sample text |
テキストを数値に変換
テキスト ファイルの内容を読み取ります。
今回、こちらのテキスト ファイルを使用してご紹介します。
まず、「ファイルからテキストを読み取ります」をつかって値を取得します。
取得された値(変数の値:FileContents)がこちらです。
データの型が、「数値」ではなく「テキスト値」となっています。
つぎに、「テキストを数値に変換」をつかって、先ほど取得した値(変数の値:FileContents) を指定します。
こちらが結果です。
データの型が、「テキスト値」から「数値」に変わっていることが確認できます。
数値をテキストに変換
指定された形式を使って数値をテキストに変換します。
先ほどの例で取得した値(変数の値:TextAsNumber)をつかってご紹介します。
「変換する数値」にて、うえの変数「TextAsNumber」を指定します。
データの型が「数値」から「テキスト値」に変換されていることが確認できます。
テキストを datetime に変換
日付/時刻値のテキスト表現を datetime 値に変換します。
こちらのテキスト ファイルを使用してご紹介します。
「ファイルからテキストを読み取ります」をつかって値を取得します。
つぎに「テキストを datetime に変換」にて、取得した変数「FileContents」を指定します。
こちらが出力結果です。
データの型が「Datetime」となっていることが確認できます。
datetime をテキストに変換
指定されたカスタム形式を使って、datetime 値をテキストに変換します。
ひとつ上の「テキストを datetime に変換」の例で出力された変数「TextAsDateTime」を、パラメータ「変換する datetime」で指定します。
こちらがそれぞれの「標準形式」ごとの結果です。
標準形式 | 結果 |
短い日付形式 | 2021/8/30 |
長い日付形式 | 2021年8月30日 |
短い時刻形式 | 0:00 |
長い時刻形式 | 0:00:00 |
完全な datetime (短い時刻形式) | 2021年8月30日 0:00 |
完全な datetime (長い時刻形式) | 2021年8月30日 0:00:00 |
一般的な datetime (短い時刻形式) | 2021/8/30 0:00 |
一般的な datetime (長い時刻形式) | 2021/8/30 0:00:00 |
並べ替え可能な datetime | 2021-08-30T00:00:00 |
ランダム テキストの作成
ランダムな文字で構成される指定された長さのテキストを生成します。これはパスワードの生成に役立ちます。
こちらの条件にて実行します。
5回テストをしましたが、結果はつぎのようになりました。
回数 | 結果 |
1 | CHy$4 |
2 | u21kTvg |
3 | xmNmig5V |
4 | .zIhd95 |
5 | 68Vl!H-, |
こちらはランダムで値を生成することから、やはり実行ごとに異なった結果になります。パスワードの自動作成に役立ちますが、忘れないようにメモなどで残しておいてくださいね。
テキストの結合
項目を指定した区切り記号で区切って、リストをテキスト値に変換します。
例としてこちらのリストを使用します。
うえの変数「List」を結合するリストとして指定します。
こちらが出力結果です。
なお、「リスト項目を区切る区切り記号」を「標準」とした場合は、こちらの内容を選択することができます。
- スペース
- タブ
- 新しい行
テキストの分割
指定された区切り記号または正規表現によって区切られたテキストの部分文字列を含むリストを作成します。
こちらの変数「NewVar」をつかって確認をします。
「分割するテキスト」に、変数「NewVar」を指定します。
こちらが出力結果です。
「カスタム区切り記号」で指定した区切り記号「&」によってリストが分割されています。
テキストの解析
テキストを解析して、指定されたサブテキストまたは正規表現パターンの最初の出現箇所またはすべての出現箇所を検索します。
こちらの内容で確認をします。
結果はこちらです。
「検索するテキスト」にて指定された正規表現に一致する値が変数「Match」に代入されています。
もうひとつの変数「Position」の結果はこちらです。
こちらでは、解析するテキストの位置が表示されます。
今回の例では、”電話番号は”という6文字に対応した数字です。
なお、元のテキストの中に指定文字が見つからない場合は「-1」が表示されます。
テキストを置換する
指定されたサブテキストの出現箇所すべてを別のテキストに置き換えます。正規表現と同時に使うこともできます。
こちらの例をつかって確認をします。
出力結果はこちらです。
なお、「エスケープ シーケンスをアクティブ化」にて、特別なシーケンスを使用するかどうかを指定することができます。
たとえば、置換テキスト内の ‘\t’ はタブとして解釈されます。
置き換え先のテキストを「非\t公\t開」とした場合、出力結果は「電話番号は「非 公 開」です。」となります。
こちらの例でご紹介したタブ文字「\t」の表記については、テキストエディタなどの種類によってタブ幅が異なりますのでご注意ください。
こちらでは「半角スペース1つ」が表示されています。
正規表現のエスケープ テキスト
文字の最小セット(\, *, +, ?, |, {, [, ], ^, $, ., #, 空白)をエスケープ コードに置き換えてエスケープします。
エスケープ コードとは、つぎに続く文字に別の解釈をすることを示すための「文字」のことです。
具体的には半角文字の「\(バックスラッシュ)」を使います。
フォントの設定によっては「\(半角の円マーク)」で表示される場合もありますが、おなじような使い方をします。
例えば、文字の中に「改行」をつかった場合の表示例を確認してみましょう。
まず、「ファイルからテキストを読み取ります」でテキスト ファイルを読み取ります。
つぎに、「正規表現のエスケープ テキスト」にて指定します。
さいごに、「テキストをファイルに書き込みます」でテキスト ファイルを書き込みます。
出力結果はこちらです。
改行部分が「改行コード」で表示されています。
まとめ
こちらでは基本的なテキスト操作について、例をもちいながら具体的な使い方をご紹介しました。
「テキスト」操作だけをつかって自動化のフローを作成することは少ないかと思います。
その他のアクションについてはこちらでご紹介しておりますので、よろしければご活用ください。
こちらに「Power Automate Desktop」でできることや基本的な操作方法をまとめていますので、もしご興味がございましたら一度ご覧ください。