Gemini CLI連携:AI自動化の探求(Power Fxフロー対象✅)

Power Automate for Desktopは日々のルーティンワークを自動化できる強力なRPAツールだが、時にはそのロジックベースのRPAの枠を超えた高度な知能をフローに組み込みたくなることがあるだろう。特に近年目覚ましい進化を遂げているGenerative AIの能力をロー…

正規表現で改行を検索する(Power Fxフロー対象✅)

正規表現の「.」(ドット)は任意の一文字を表す、と説明される場合があるが実は改行にはマッチしない。 例えば改行が含まれるテキストに対して、すべてのテキストを取得するつもりで正規表現「.+」を使いマッチを試みる。しかし「.」(ドット)は改行に該当…

リスト変数から値を取り出すにはIndex関数(Power Fxフロー対象✅)

リスト変数からひとつの値を取り出したいとき、従来のRobinのみフローでは例えば「List[2]」 のように角カッコとその中の数字で位置を指定して取得できたのだが、Power Fxフローでは利用できない。Power FxフローではIndex関数を使う。 例えば「テキストの解…

囲み文字(キーキャップ)を正規表現で検索(Power Fxフロー対象✅)

絵文字が盛り込まれた文字列を扱う際に、そのにぎやかさを抑えるために絵文字を完全に抹消したくなるときがある。ほとんどの絵文字はこちらの記事にあるように「\p{C}|\p{S}」でマッチできる。 start-rpa.hatenablog.com しかしキーキャップと呼ばれる囲み数…

正規表現で絵文字を消す(Power Fxフロー対象✅)

絵文字を使ったにぎやかな文章を抽出したり加工したりすることが折に触れて必要となることがある。そんな時には以下のような正規表現で絵文字を特定するとよい。 \p{C}|\p{S} 空白に置換すれば絵文字を消すということになる。 ="" 正規表現「\p{ name }」に…

改行などの特殊文字を関数で入力(Power Fxフロー対象✅)

Power Fxフロー上で改行を利用する際にはChar関数を使うとよい。 従来のRobinのみのフローでは、改行コードを作成するテクニックを使って改行を変数に格納するためだけのアクションを作る必要があった。ひとつのアクションだけで実現できるものの、改行を作…

文字列をつなげる(Power Fxフロー対象✅)

Power Fxフローで文字列をつなげるには「&」(アンド)と「""」(ダブルクオーテーション)を使う。 リテラルはダブルクオーテーションではさむ。Power Fxフローでは変数は「%」はつけずにそのまま変数名を書く。 ="こんにちは" & var1 & var2

ファイルパスを指定する際の推奨(Power Fxフロー対象✅)

ファイルパスを指定するときは、ひとつ手間であるがそれ専用の変数を作成してファイルパスを記述しておき、フロー内でその変数を利用することを強く強く推奨する。 各アクションに直接書いてしまうと、ファイルパスが変わったときに影響のあるアクションを検…

カスタムフォームで入力した値を取得する(Power Fxフロー対象✅)

カスタムフォームで入力した値を取得するには、カスタムフォームデザイナーで自分で設定した「ID」を、変数名とドットでつないで以下のように書く。 =CustomFormData.myid 例: 「ID」を「pagedown」にした。 値を取得するには変数名とIDをドットでつなぐ =C…

カスタムフォームにほぼ必須のアクション

カスタムフォームを利用してカスタマイズした入力ダイアログを作成できる。アクション「入力ダイアログの表示」や「リストから選択ダイアログを表示」よりも見やすくしたり、1つのダイアログだけで複数変数の値を設定したりが可能となる。 カスタムフォーム…

Power Fxでのキーの送信(Power Fxフロー対象✅)

「キーの送信」はキーボードの入力を画面上に送信する便利なアクションだ。Power Fxのフローの場合の「キーの送信」が非常にトリッキーなことになっていたので、記載方法がわかるまでにかなり時間を要した。なにしろ公式文書が存在しないもので。Power Fxは…

リスト変数が復活!(Power Fxフロー対象✅)

Power Fxのフローでは少し前の2024年8月くらいのバージョンまではリスト変数に関するアクションが全く存在しなかった。先日にPower Automate Desktopをアップデートしてふとアクション一覧を見たところ、リスト変数やデータテーブルに関するアクションが利用…

正規表現に変数を使う(Power Fxフロー対象✅)

アクション「テキストの解析」などにおいて、正規表現を指定することで各種文字列を対象に柔軟にかつ高速に検索することができる。ときおり、フローのなかで状況により変わる値があり、これを正規表現のなかに含めて検索したいことがある。 しかし正規表現の…

イコールを入力しないで変数を表現する(Power Fxフロー対象✅)

Power Fxのフローで値を入力する際は、原則として先頭に「=」(イコール)を入力する。変数は変数名をそのまま書けば認識される。従来のRobinのみフローでは%で囲う必要があったのだがもう気にしなくて良い。 =logfile_location 一方で先頭の「=」(イコール…

Power Fxを使ったPower Automate Desktopのフロー

ひさびさに自動化したいタスクが発生したので、ひさびさにPower Automate Desktopのフローを新規作成しようとするとPower Fxが使えるとの表示が。ごく最近のリリースではないのだが2024年9月現在ではプレビューであるとのこと。 Power Fxのフローを作り始め…

効率アップ!ExcelからPower Automate for Desktopのフローを起動する方法

Excelのデータをあつかって各種操作をしてそのままExcel上からPower Automate for Desktopのフローを起動したいことがある。そんなときはPower Automate for Desktopのキーボードショートカットの設定とExcelのリボン(メニュー)の登録をしてみるとよい。 …

複雑なテキストをパディングする

ウェブサイトなどから取得した日付データに表記のゆれがあることがある。日付や時間や分や秒の数値は、一桁で「2022年1月1日」と表現する場合と二桁で「2022年01月01日」と表現する場合がありどちらも一般的であるためにウェブサイトによって表記が異なるこ…

意外と使いづらいデータテーブル

フローの処理のなかで一時的にテキストや数値を格納しておくために自分で変数を定義することが通常だ。多くの場合、単一の値を格納する変数か、または複数行を格納できるリスト変数を定義することと思う。もうひとつ、さらにリスト変数よりも次元がひとつ増…

正規表現でAND(かつ)を入力して複数条件で検索

よく使う正規表現のひとつ。テキスト内に複数の文字列がすべて含まれているかどうか確認したいときがある。その場合は以下のように入力する。 ^(?=.*%Var1%)(?=.*%Var2%) とくに工夫せず標準的にアクションを使う場合、複数条件を満たすことを検査するために…

セレクター設定のコツ - 階層を少なくする

UI要素を取得した際のセレクターを適切に設定すると、ウェブサイトが更新されてもエラーにならず目的のリンクをクリックする等が可能となる。前々回と前回でそれぞれセレクターの値設定の演算子を「含む」に変更する方法と不要な指定をしない方法を確認した…

セレクター設定のコツ - 要素が一つだけの階層でclass等を指定しない

UI要素を取得した際のセレクターを適切に設定すると、ウェブサイトが更新されてもエラーにならず目的のリンクをクリックする等が可能となる。前回はひとつの方法としてセレクターの値設定の演算子を「含む」に変更する方法を確認した。つづいてもう一つ。要…

セレクター設定のコツ - 演算子「含む」に変更する

UI要素を取得した際のセレクターを適切に設定すると、ウェブサイトが更新されてもエラーにならず目的のリンクをクリックする等が可能となる。ひとつの方法として、セレクターの値設定の演算子を「含む」に変更する方法を確認。 以下の記事のようにMSNのサイ…

セレクター設定のコツ

ウェブサイトのページからUI要素を取得するとセレクターが自動的に取得される。自動的に取得されたままの状態で問題なくクリックできることがほとんどだが、ページ上のテーブルの数やClassの内容等の状態が少しかわったりするとセレクターで対象を発見できず…

セレクターは何をセレクトしようとしているのか

ウェブページ上のクリックする対象を確実にセレクターで特定するにはウェブページの構造を確認することが必要となる。その際には多くのブラウザーに備わっているHTML確認ツールを利用するとよい。以下Chromeの「検証」の機能を使って確認する。 1. ChromeのH…

UI要素とセレクター概要

ウェブサイトやアプリケーションのウィンドウ上の要素をクリックしたりテキスト入力欄にテキストを入力したりする場合にはWebオートメーションやUIオートメーションを利用する。それらアクションを実行するにはウィンドウ上のUI要素を取得して設定する必要が…

さようならPower Automate Desktop

Power Automate Desktop の2021年10月のアップデートが利用可能となっている。いつの間にかソフトウェアの名称がPower Automate DesktopからPower Automate for Desktopに変更になっていたらしいのでブログのタイトルを変えた。公式サイトのブログなどにはま…

改行テキストがリストに変換できない!?

改行が含まれるテキストをリストに変換することができる。アクション「テキストの分割」で「新しい行」を区切り文字に指定すればよい。 一方、改行の入れ方によってはこれが機能しないことがある。例えば以前にご紹介した改行文字を格納した変数を使うとなぜ…

変数にデータを蓄積していく2つの方法

処理を実行するとその結果が変数に保存されるアクションがある。ループなどを使ってアクションを繰り返して変数にデータを格納していく場面を考える。アクションの結果を保存する変数がひとつの同じものなのであれば、その変数にはループで最後に実行した結…

リスト内の値を指定する

リスト変数の中の特定の一行を指定するときは次のようにリスト変数に続けて角括弧で数値を入力する。角括弧内の数値がリスト内の行番号を示す。 %List[0]% リスト変数Listのなかみ 一番最初の行をとりだす リスト変数のなかみを確認すると明らかであるがリス…

リストを作成する2つの方法

変数にはいろいろなタイプがあり、そのうちリスト変数は各種アクションを効率よく処理するのに便利でよく使うタイプの変数だ。リストは次のような方法で作成できる。 1. 「新しいリストの作成」と「項目をリストに追加」 上記を実行すると右ペインのフロー関…