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

ウェブサイトなどから取得した日付データに表記のゆれがあることがある。日付や時間や分や秒の数値は、一桁で「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. 「新しいリストの作成」と「項目をリストに追加」 上記を実行すると右ペインのフロー関…

正規表現でタブを表す

よく使う正規表現のひとつ。タブを表すには以下のように入力する。 \t エクセルのテーブルをコピーしてクリップボードテキストを取得した際などに区切り文字としてタブが含まれてくる。そのような場合にテキストの置換や情報の取得に使うことがある。 クリッ…

正規表現でOR(または)を入力して複数検索

アクション「テキストを置換する」等で正規表現を使って複数の条件で検索することができる。正規表現では縦棒「|」がOR(または)を表現するのでこれを使う。アクション「テキストを置換する」の「検索と置換に正規表現を使う」をオンにして「検索するテキス…

効果的な3つの待機アクション

アクションの完了をチェックせず投げっぱなしにして次のアクションに移ってしまいフローが正常に進まなくなることがある。その場合は適切に待機のアクションを設定する必要がある。特に効果的で使い勝手がよい待機のアクションは以下の3つ。なお、待機をはさ…

投げっぱなしアクションのあとには待機すること

フローが途中で停止しないようにアクションの間に待機(Wait)を効果的にはさんでいくことが必要な場面がある。アクションAが完了しないまま次のアクションBが実行されてしまい、アクションBが無意味になったりタイムアウトしてしまうような箇所である。アク…

改行を変数に格納して便利につかう

改行を変数に格納しておくと便利なことがある。ダイアログボックスのメッセージで文章を整えるために使ったり、改行を含むテキストの編集に使ったりできる。改行を変数に格納するには以下のようにアクションを2つ実行する。 1. アクション「テキストに行を…

一行のIFで複数条件を検査する

アクション「If」により条件に応じた処理を実行できる。アクション「If」のパラメーター設定画面を見ると最初のオペランドと2番目のオペランドを指定するようになっている。2つの値を比較することしかできないように見えるが実は以下のように複数条件を設定…

フォルダーを開く2つの方法

アクション「アプリケーションの実行」を使うのがオススメ。以下のような設定をする。特にアプリケーションの完了を待機してくれる設定があるのがとても助かる。 ・アプリケーション パス:explorer.exe ・コマンドライン引数:開きたいフォルダーのパス ・…

日本語OCRをつかう

PowerAutomate Desktopには英語、ドイツ語、スペイン語、フランス語、イタリア語のOCRエンジンがはじめから含まれている。日本語は含まれていないので日本語の文章のOCRを実行するためには追加の対応が必要となる。Tesseract OCRを導入することがひとつの方…

フローが重くなる原因

エレベーターに乗ったときは行き先階のボタンを押す前に閉じるボタンを押そう。これにより0.5秒ほど時間を削減できる。10回乗ったらなんと5秒も削減できる。エレベーターに乗るときの時短ハック! さて、フローを起動したときには毎回ダウンロードをしている…

正規表現でアスタリスク(ワイルドカード)

良く使う正規表現のひとつ。任意の文字列を表すときは以下のようにピリオドとアスタリスクを入力する。 .* アスタリスクだけ「*」を入力しても思ったようにワイルドカード的に動かなくて少し迷ったのでメモ。ピリオドが任意の1文字を表しており、直後のアス…

フローはどこに保存されているのか

作成したフローはOneDriveに保存されている。ブラウザーでMicrosoft OneDriveにアクセスしてMicrosoftのアカウントでログインして確認できる。 自分のファイル>アプリ>Power Automate Desktop For Windows にファイルが格納されておりこれが各フローの本体…

フローが突然消えた!?

フローが突然きえたことがありますか。なければ幸いです。もしあればこの記事が参考になるかもしれません。結論から言うとおそらく消えていませんのでご安心を。 フロー数か容量なのか明確ではないがフローをすごくたくさんつくってなんらかの上限に達すると…

パラメーター '初期 URL': 構文エラーです。

アクション: 新しい Chrome を起動する 、や 新しい Microsoft Edge を起動する 等にてアクセスしたいURLを入力した際に「パラメーター '初期 URL': 構文エラーです。」というエラーとなることがある。これはもちろんURLの中に不正な文字が含まれていること…

バックグラウンドで実行

フローをバックグラウンドで実行することは限られた操作のみとなるが可能である。当然ながらフォアグラウンドのウィンドウの情報が必要なキーボードのキー送信やマウスによるクリックやOCR等の処理はできないので、そうではないアクションのみをフローに含め…

正規表現で数字を検索する

良く使う正規表現のひとつ。任意の半角の数字を検索する場合は以下のように入力する。「+」は直前の文字の1回以上の繰り返しを意味するので0~9の数字が何桁であってもマッチできる。 [0-9]+ (2021/12/20追記) なお数字の個数を指定するには以下のように「…

文字なし(null)を指定する

文字なし(null)は以下のように表現する。 %''% テキスト中に改行やスペースなどの特殊文字があり、後続処理に使うためにそれを削除したい場合などに使える。以下はテキスト中のすべての「/」を削除する例。文字なし(null)なので「置き換え先のテキスト」…