運営チーム 初期コンテンツ制作班
フォーラムの返信が作成されました
-
あります。色の違いが画像の判定結果に、影響を及ぼします。
そのため、使用しているツールのアップデート後などは色や配置にも注意が必要です。 -
フローの左上から「サブフロー」を追加することができます。
また、フローコントロール>「サブフローの実行」からサブフローを呼び出せます。使う場面として、全体のフローを見やすく、分かりやすくするためや、
同じ処理を何度もしたい場合などでサブフローを使用すると、修正が必要になった場合に、
そのサブフローを修正するだけで、一括での修正が可能になります。 -
通信の良い環境で再度お試しください。
・パソコン、スマホ、ルーター、モデムなど機器を再起動する
・LANケーブルの配線状態をチェックする
・ルーターやモデムのランプを確認する
など一度お試しください。 -
Webレコーダーをお試しいただきありがとうございました。
ポップアップメッセージが表示された後に、
「ウィンドウにフォーカスする」アクションを入れて、「Webページのリンクをクリックします」のアクションでUI要素を取得します。
「Webページのリンクをクリックします」のアクションがうまく作動しない場合は、「キーの送信」のアクションで、「OK」or「キャンセル」の操作をしてみましょう。 -
営業日の加算の処理は仰る通りPADだけでは出来かねますので、Excelと連動する必要がございます。
<例>
アクション:Excelシートから読み取り
詳細:「セルの内容をテキストとして取得」にチェックを入れる
「テキストの置換」アクションで「/」を「-」に変更してもOK -
エラー時点の画面キャプチャを取得し、メールに添付という動きは、PADでも可能ですが、
スクリーンショットを取る前に、PADのポータルとフローデザイナーのウィンドウを閉じるのがポイントです。
そうしないと、フローデザイナーだけがスクリーンショットされる可能性があります。フローデザイナーはフローごとにタイトルが変わるので、ワイルドカードの設定にしておきます。
スクリーンショット画像をメールに添付しなくとも、エラーが起きた時間やアクションの場所、
エラーの内容をログに残すことはできるので、どこまで記録に残したいか、共有したいかなどを決めておくことがポイントです。 -
PADは、UiPathのように「Outlookメールメッセージを送信」アクションでアカウントを指定なし(空欄)できません。
そのため、「Outlookからのメール メッセージの送信」のアカウントを変数で設定しておきましょう。
フロー実行後すぐに、実行者の社員番号か氏名を入力する「入力ダイアログ」をフローに入れて、実行者によって送信者が変わるようにする。
いくつか方法があると思いますが、「Swich/Case」のアクションを使用してフローを作成するのがおすすめです。 -
-
どういったエラーになりますか?
一部は入力されるのか、全く入力されていない状態なのか?一度以下でお試し頂ければと思います。
①「クリックボードテキストを設定」でWebのテキストフィールドに入力したい内容を設定します。(変数や文字の組み合わせができます)
②「クリップボードテキストを取得」のアクションを入れます。
③Webのテキストフィールドに入力するテキストに「クリップボードテキストを取得」で設定した変数を入れます。※補足
%’’%(アポストロフィーを%で囲む) にすることで空欄を値として書き込む -
<確認>
・申請依頼は①PC調達 ②対応済み の条件で絞ることはできますか?
・対応が完了(引き受け後)したら、対応済みとわかるフラグはありますか?<回答>
「Webページ上の要素の詳細を取得します」のアクションで申請(PC調達)の情報が取得できるか確認します。
PC調達の申請および、未対応のもののみ、虫眼鏡のボタンをクリックします。
どのアクションが適切かはWebレコーダーを使って試してみましょう。
1つ目の申請、2つ目の申請・・と参照する申請依頼をスライドする際は、「セレクターの編集」の機能を活用します。
「Webページ上の要素の詳細を取得します」アクションを利用
変更対象の要素のセレクタービルダーで変動要素を変数(ex_%file_No)で指定し、Loop処理で必要なものかを判断することが可能です。<補足>
アクション:WEBデータ抽出>WEBページ上の要素の詳細を取得します→UI要素の追加 →取得したい要素をCtrl+左クリック
※要素の違いを確認するため、2個目の要素も同じように取得 →メモ帳にUI要素ペインからセレクターの編集>その他のアクション:セレクターの編集からフル要素をコピーし、2つの変更箇所を確認 →変動箇所の特定ができたら、変数を用いて要素取得を一つ残し、加工する→要素の取得の前に「変数の設定」アクションを追加し、初期値「0」を設定
※編集画面でカスタムにチェックを外すと変数を利用した変更が可能■要素のワイルドカード指定
→セレクタービルダー画面で演算子で「含む」等でコントロールする
■無限に処理を繰り返す
→アクション:ループ条件を追加(0to0になるように)
変数を一つづつ加算しつつ、UI要素取得の際にエラーが発生したらフロー実行を続行する>ラベルに移動→移動先ラベルへフローが飛ぶようにする
※ラベル(フローコントロール>ラベルを事前にフロー内に設定しておく) -
「For each」を使用すると”○行目”という情報が取得できないので、下記の方法で行います。
①「Excelワークシートから列における最初のからの行を取得する」のアクションで、Excelの最終行を取得する
②ループで2行目から最終行まで読み取りを繰り返す。IFを2回使用して、A列が当日、且つN列が空欄の場合は、○○の処理をする流れにする。ループの中にWebサイトへの書き込みと、ExcelN列への書き込みのアクションを入れましょう。
-
<パターン①>
①「Excelワークシートから読み取り」のアクションでDateTable形式で読み取る。
※最初の行に列名が含まれるにチェックをつける
②「For each」で①で読み取りをしたデータを繰り返す。
IFを2回使用して、A列が当日、且つN列が空欄の場合は、○○の処理をする流れにする。<パターン②>
①「Excelワークシートから列における最初のからの行を取得する」のアクションで、Excelの最終行を取得する。
②ループで2行目から最終行まで読み取りを繰り返す。
IFを2回使用して、A列が当日、且つN列が空欄の場合は、○○の処理をする流れにする。<研修内補足>
フィルタに関するアクションは現在PADにはなし。
テーブル変数の場合は、Loop処理で実施するしかない。
Excel等では「キーの送信」でフィルタは可能だが、あまり推奨されていない。
(実行の信頼度が低い) -
変数を組み合わせファイルパスを設定しましょう。
処理月はシステムやExcelから判断するのが良いか、実行した時点の日時から判断すべきか確認させてください。実行した時点の日時から判断する際はアクションの「現在の日時を取得します」を使用します。
%Pass%\運用カレンダー_%Month%.xlsx
※文字列接続のための記号は不要
→変数は「%」で囲む、文字列一切記号で囲む必要なし -
参考:https://docs.microsoft.com/ja-jp/power-automate/desktop-flows/how-to/sql-queries-microsoft-access
※Microsoft Access データベース エンジン 2010 再頒布可能コンポーネント(32bit版)をインストール済
※PADは64bit版「AccessDatabaseEngine」パッケージにしか対応していません。32bitと64bitを同居させることはできないので、一度32bit版をアンインストールしてから、64bit版をインストールしてみてください。
すぐにはPAD画面に反映されないので、PADの再起動orPC再起動が必要です。
UiPath実行環境であるため、32bit版のアンインストールはできない!ということであればまずはUiPathを運用していない別PCで上記手順を試してみてください。
記載しましたが、32bitと64bitを同居させることはできないのでUiPathからPADにフロー実行を切り替える際は、運用に支障が出ないように端末を分けるなどが必要になるかもしれません。補足:手順は、下記「AccessDatabaseEngine」パッケージ配布ページの「インストール方法」を参照(https://www.microsoft.com/ja-JP/download/details.aspx?id=13255)
-
アクション「Desktopフローを実行」でメインフローを呼び出すことができます。
呼び出ししたフローを変更すると親フローにも変更が反映されます。
変数を引き渡す場合は、「入出力変数」を作成する必要あり
親フロー(呼び出す元)から変数作成(出力変数)
子フロー(呼び出す先)にも変数作成(入力変数)
※正確な手順で作成しないと難しい。
※ブロックエラー発生時の中でDesktopフロー実行を利用した場合、通常どの部分でエラーが発生したかがわかるが、呼び出した先のDesktopフロー上のどのアクションでエラーが発生したかはわからない。
(入出力変数でエラーフラグを保有しておく方法あり)
※ブロックエラー発生時アクションはアンアテンドの時などに活用できる。
※入出力変数の作成方法については、下記画像を参照。 -
画像識別アクションで使用する画像を新しく画面上から取得する際に使用します。
具体例ですと以下が想定されます。
・デスクトップレコーダーの画像記録モードで生成したアクションで使用する画像の取り直し
・●秒後の画面状態で画像を取得する際 -
Webレコーダーとはブラウザの操作を自動で記録する機能です。
デスクトップレコーダーは、デスクトップ上でキーボード操作やマウス操作を自動で記録する機能です。 -
<無償アカウントの場合>
テキストで共有できます。
すべてのアクションを「Ctrl+A」で全選択して、「Ctrl+C」でコピー、「Ctrl+V」で貼り付けます。
入出力変数は引継ぎができません。
アプリケーションパスやファイルパスは変更する必要があります。
<有償アカウントの場合>
Power Automateのデスクトップフロー画面から共有できます。 -
<画面操作のアプローチまとめ>
レコーダー機能を使ってUI要素の追加ができない場合、動作の安定性を向上たせるため、以下の優先順位のアプローチで画面上のコントロールに対して操作や文字入力を行います。1.UI要素ペインからのUI要素を再取得、なるべくPC負荷を軽くして実施する
2.UI要素のセレクター編集別日や他のデータで表示した際のUI要素を取得して、セレクターの差異を考慮して設定する
3.キーボード操作画面の操作直前に画面をアクティブにする
(アクション「ウィンドウにフォーカスする」を使用)キー操作や文字入力後は動作を安定させるため待機時間を1秒程度設ける画面切り替わりのタイミングは必要に応じて待ち時間を指定する(待ち時間が変動する場合はアクション「画像を待機」を使うことも視野に入れる)
4.画像認識アクション見切れが発生しないよう事前に画面の最大化をする
(アクション「ウィンドウの状態の設定」を使用)画像認識アクションの直前に画面をアクティブにする(アクション「ウィンドウにフォーカスする」を使用)
5.操作手順変更の検討画面操作をなるべく減らす手順を模索する
(例:1件ずつの入出力ではなく一括での入出力できる機能を使用する)<「画像認識」や「キー送信」のアクションを使う際のポイント>
①操作したい画面が前に出てきているか(画像が見えている必要がある)
②操作したい画面が最大化になっているか(画像の形式が変わったり、隠れていないか)
③操作したい表示倍率は100%になっているか
④ウィンドウにフォーカスできているか
⑤クリックをするとボタンの色が変わる際は、画像を2種類以上取得する必要がある
⑥1つの画面に同じ画像がある場合は、違いが分かるようにやや広めに画像を取得したり、検索する座標を設定する
⑦キー送信を使用する際は、「Wait」を十分に入れたり、キー入力間隔の遅延を「100→300」くらいに広げてみることで、安定した動きになる -
「Switch」「Case」を使用することで、様々な条件に応じた処理を行わせることが可能です。
「Switch」に格納される変数の値が「Case」で設定した値と一致したとき、そのCaseに紐づいたアクションが実行されます。 -
画像登録は複数しないでください。
もし「画像Aor画像Bが存在した場合○○する」という処理にしたい場合はアクション「画像が存在する場合」と「マウスを画像に移動します」を使用して2パターンの画像操作するフローを作ってください。