3.5.4.7. OpenRPA.Image

OpenRPA.Imageのツールボックス内にあるアクティビティです。

備考

画像内のテキストを認識するためにOCRを使用するアクティビティは、まず設定タブでOCRが使用する言語を最初に設定する必要があります。

カラーを取得する

Image.GetElementで指定された要素内の指定された座標のRGBAカラーを取得します。

プロパティパラメータ

Displayname– シーケンス内のアクティビティのタイトルです。

要素– 色の取得元となる要素.

Result– 色を保存するための可変のファイルパスです。

X Offset– 色をキャプチャするための,要素内の水平オフセットです.単位はピクセルです.また,負の値も指定できます.

Y オフセット– 色をキャプチャするための要素内の垂直オフセット.単位はピクセルです。また、負の値も可能です。

images/openrpa_get_color.png

OpenRPA.ImageGetColor.

エレメントを取得

画面内または特定のアプリケーションウィンドウ内の画像を検索し、その画像からImageElementを作成します。画像選択ボタンでキャプチャしたい画像を選択するか、レコーダを使用します。

Recorderは、まず、Windowsアプリケーション、Javaアプリケーション、またはWeb要素のコントロールからElementを作成しようとします。そして、最後のリソースとして、Image.GetElementを利用して、録画中にドラッグした画像の中の最小のユニークイメージをキャプチャしてElementを作成します。

ハイライトボタンをクリックすると、セレクタの条件に一致する最初の要素が赤くハイライトされます。セレクタが正しく設定されているかどうかを確認するのに便利です。

プロパティパラメータ

CompareGrayTrueに設定すると、グレースケールで画像を比較し、目的の要素を見つけます。このパラメータもパフォーマンスの節約になります。

Displayname– シーケンス内のアクティビティのタイトルです。

要素– 画像の収集元となる要素。

FromImageElementのインスタンスの中にあるElementの中だけを検索できるようにします。

Limit– Elementsの数を制限します。

LoopAction– 選択されたアクティビティを何かが見つかるまでループします。

MaxResults– 最大結果の数。

MinResults– 最小結果の数。この値が0より大きく、このアクティビティがエレメントを見つけることができない場合、例外(ElementNotFound)がスローされます。画像が存在するかどうかをチェックしたい場合は、この値を0に設定し、シーケンス内で ‘item.Length() == 0’ をテストしてください。

プロセス名– 要素のプロセスを特定のプロセス名に制限します。

しきい値– 一致する画像を見つけるために使用されるしきい値。

タイムアウト– 要素の検索に成功しなかった場合、アクティビティが停止するまでの時間。

images/openrpa_get_element.png

OpenRPA.画像取得要素.

画像を取得する

Image.GetElementで見つけた他の画像またはElementからの相対的な画像をスクリーンから取得します。

まず、Image.Get Element ActivityでこのActivityが作用する画像を選択し、Select Imageボタンでキャプチャしたい画面内の相対的な領域を指定する必要があります。つまり、Image.Get Element Activityで選択した画像と、Get Imageの選択が一致する必要があります。

ハイライト]をクリックすると、選択されている画像のうち、相対する画像が緑色にハイライトされ、青色にハイライトされた状態で表示されます。セレクターが正しく設定されているかどうかを確認するのに便利です。

OpenRPA内部での画像処理については、「付録B –画像処理」をご覧ください。

プロパティパラメータ

Displayname– シーケンス内のアクティビティのタイトルです。

Element– 画像の収集元となる要素。

高さ– キャプチャする画像の高さです。

OffsetX– 画像をキャプチャするための,要素内の水平方向のオフセットです.単位はピクセルです。また、負の値も可能です。

OffsetY– 画像をキャプチャする際の,画像内の垂直方向のオフセットです.単位はピクセルです。また、負の値も可能です。

Result– 画像Elementが保存されるファイルのパスを指定します。

– 取り込む画像の幅です。

images/openrpa_get_image.png

OpenRPA.Image取得イメージ.

テキストを取得

OCRを使用して画像からテキストを取得します。特定の単語や文に限定することができます。また、他の画像関連活動から収集したテキストを分割または制限するために使用することができます。

Limit toまたはWordLimitパラメータは、OCR 処理の出力を制限するために使用されます。これは、 テキストを取得の出力を、与えられた単語のセットに制限したい場合に便利です。OCR で作成されたテキストにアクセスするには、単にitem.Value変数 – または定義された要素の Valueプロパティにアクセスします。

プロパティパラメータ

CaseSensitive– 小文字と大文字を区別する。

Displayname– シーケンス内のアクティビティのタイトルです。

Element– 画像の収集元となる要素。

Result– 収集されたImageElementが保存される可変長ファイルパス。

WordLimit– 収集する単語の最大数です。

images/openrpa_get_text.png

OpenRPA.ImageGetText.表示します。

ファイルから読み込む

ファイルから画像を読み込み、ImageElement として返す。

また、OCR画像認識を自動的に使用して、スクリーンショット内のテキストをキャプチャし、結果のImageElement.value属性の中に保存されます。使用できる拡張子は、gif, jpg, jpeg,png で、つまり画像の拡張子のみです。

プロパティパラメータ

Displayname– シーケンス内のアクティビティのタイトルです。

Filename– 画像の取得に使われるファイルのファイル名.

ResultImageElement を保存するための可変長ファイルパス。

備考

注:OCR 画像認識は、画像に対して自動的に行われます。ユーザーは、ImageElement.valueプロパティにアクセスすることで、結果のテキストにアクセスすることができます。

images/openrpa_load_from_file.png

OpenRPA.Imageをファイルから読み込む

スクリーンショットを撮る

画面全体またはImage.GetElementで指定された Element のスクリーンショットを取得し、ImageElement として返します。

このActivityには、2つの使用モードがあります。

最初の使用モードはセレクタレスです。このモードでは、WidthHeight、オフセットが設定されていない場合、アクティビティは画面全体のスクリーンショットを撮影します。このモードを使用するには、アクティビティのElementプロパティ内の値を削除し(デフォルト値はitem)、必要に応じてXおよびYオフセット値を定義するだけです。

2つ目の使用モードはセレクタバインドです。このモードでは、Image Elementを選択すると、アクティビティはImage Elementの相対値を使用して、Xと Yのオフセット値を見つけます。このモードを使うには、ユーザーはTake Screenshotアクティビティを選択したElementにドラッグし、WidthHeightX,“Y“ のオフセット値を定義するだけです。

プロパティ パラメータ

Displayname– シーケンス内のアクティビティのタイトルです。

要素– スクリーンショットのキャプチャ元となる要素の名前です。

Height– スクリーンショットの高さです。

結果– スクリーンショットを保存するための可変のファイルパスです。

Width– スクリーンショットの幅です。

X– スクリーンショットをキャプチャするための、画像内の水平オフセット。単位はピクセルです。また、負の値も可能です。

Y– スクリーンショットをキャプチャするための、画像内の垂直オフセットです。単位はピクセルです。また、負の値も可能です。

備考

注:OCR画像認識は、画像に対して自動的に行われ、結果のテキストには、結果のImage 要素の valueプロパティにアクセスすることでアクセスすることができます。

images/openrpa_take_screenshot.png

OpenRPA.イメージテイクスクリーンショット.

3.5.4.9. OpenRPA.NM

OpenRPA.NMのツールボックスにあるアクティビティを紹介します。

タブを閉じる

OpenRPAが現在サポートしている3つのブラウザのうち、現在開いているタブまたはすべてのタブを閉じることができるActivityです。ChromeFirefoxEdgeの3つのブラウザに対応しています。

ユーザーは、Browserパラメータで希望のブラウザを設定する必要があります。これは、"chrome"、 "ff""edge "のいずれかです。それぞれ、上記の各ブラウザに対応します。

もし、ユーザーがすべてのタブを閉じたい場合は、CloseAllパラメータをTrueに設定する必要があります。

プロパティパラメータ

Browser– OpenRPAがタブを閉じるためのブラウザ。このパラメータには、"chrome"、 "ff""edge“を設定できます。

CloseAllTrueに設定すると、OpenRPAは、ブラウザ内で現在開いているすべてのタブを閉じます。

Displayname– シーケンス内のアクティビティのタイトルです。

images/openrpa_close_tab.png
スクリプトの実行

このActivityは、現在OpenRPAがサポートしている3つのブラウザの中で、ユーザーがJavaScriptスクリプトを実行することを可能にします。ChromeFirefoxEdgeの3つのブラウザの中でJavaScriptスクリプトを実行し、最後に評価された式の値を返します。ブラウザがすでに開いている必要があり、そうでない場合はSystem.NullReferenceExceptionが返されることをユーザーに思い出させるのに役立ちます。

実行するスクリプトは、「Open Editor」をクリックしてコード エディター内に貼り付けるか、タイプすることで挿入することができます。

また、Browserパラメータに、スクリプトを実行するブラウザを設定する必要があります。これは、"chrome"、 "ff""edge "のいずれかです。それぞれ、上記の各ブラウザに対応する。

最後に評価された式の値をオブジェクトとして返すには、Resultパラメータに変数名を入力し、Ctrl+Kキーを押して作成する必要があります。

また、ユーザーはスクリプトが注入される ``Frame`` 対応するFrameId`´を設定することができます。これについての詳細は、Window.frames(https://developer.mozilla.org/en-US/docs/Web/API/Window/frames) をご覧ください。

プロパティパラメータ

Browser– OpenRPAがスクリプトを実行するブラウザー。このパラメータには、"chrome"、 "ff""edge“のいずれかを設定します。

DisplayName– シーケンス内のアクティビティのタイトル。

FrameId– スクリプトが注入されるフレームのIDです。Int32 型である必要があります。

Result– 最後に評価された式の結果が保存される変数.

Script– 実行されるスクリプトです。

images/openrpa_execute_script.png
エレメントを取得

このアクティビティは、OpenRPA.Get Elementと似ています。NMセレクタでフィルタリングされた要素(または要素)を選択します。

ハイライト」をクリックすると、セレクタの条件に一致する最初の「要素」が赤くハイライトされます。セレクタが正しく設定されているかどうかを確認するのに便利です。

プロパティパラメータ

Displayname– シーケンス内のアクティビティのタイトルです。

要素– 選択されたNM要素。

From– NMElementのインスタンスの中で見つかった要素内のみを検索することができます。

MaxResults– 検出される要素の最大値。

MinResults– 最小結果の数。この値が0より大きく、このアクティビティが要素を見つけられなかった場合、例外(ElementNotFound)がスローされます。要素が存在するかどうかを確認したい場合は、この値を0に設定し、シーケンス内で ‘item.Length() == 0’ をテストしてください。

セレクタ– NMアプリケーションを識別するためのすべてのデータが含まれています。

Timeout– 要素の検索に成功しなかった場合、アクティビティが停止するまでの時間。

Wait for ready– “True “に設定すると、ページが完全に読み込まれるまで待ちます。

備考

ユーザーは、XPath セレクタを使って、ページ内の要素を選択することもできます。XPath セレクタは以下のような構文で使用します。

    • 任意の要素ノードにマッチする

  • * – 任意の属性ノードにマッチします.

  • node() – あらゆる種類のノードにマッチします。

例えば、bookstoreノードのすべての子要素ノードを選択したい場合は、/bookstore/*を使用します。文書内のすべての要素を選択するには、//* を使用します。ここで、何らかの属性を少なくとも 1 つ持つtitle要素をすべて選択したい場合は、//title[@*] を使用します。XPath 式を連結する場合は、 演算子を使用します。つまり、すべての book 要素のtitle および price要素をすべて選択する場合は、//book/title | //book/price.¹ という式を使用します。

¹ – `XPath Syntax <https://www.w3schools.com/xml/xpath_syntax.asp>`_ (“https://www.w3schools.com/xml/xpath_syntax.asp“).

備考

XPathセレクタの他に、CSSセレクタも使用することができます。CSSセレクタは、以下の構文を使用します。

  • .{CLASS}– そのクラスを持つすべての要素にマッチします。

  • #{CLASS}– そのidを持つすべての要素にマッチします。

  • ** ** – すべての要素にマッチします。

  • {ELEMENT}– すべての<p>要素にマッチします。

構文はXPath セレクタとほぼ同じです。CSS セレクタについてはCSS セレクタ(https://www.w3schools.com/cssref/css_Selectors.asp)を参照してください。

images/openrpa_ie_get_element.png

OpenRPA.NM ゲットエレメント

URLを開く

現在OpenRPAがサポートしている3つのブラウザのうち、いずれかのブラウザ内でURLを開きます。ChromeFirefoxEdgeのいずれかです。URLが設定されていない場合は、自動的に新しいブラウザのインスタンスが起動します。

ユーザーは、URLを開くために必要なブラウザをBrowserパラメータに設定する必要があります。これは、"chrome"、 "ff "または"edge "です。それぞれ、上記の各ブラウザに対応します。

また、NewTabパラメータをTrueまたはFalseに設定することで、新しいタブの中に開くか、現在開いているタブの中に開くかをユーザーが設定する必要があります。

プロパティ パラメータ

Browser– OpenRPAがスクリプトを実行するブラウザー。このパラメータには、"chrome"、 "ff""edge“のいずれかを設定します。

DisplayName– シーケンス内のアクティビティーのタイトル。

NewTabTrueに設定すると、ブラウザの新しいタブ内にURLを開きます。一方、Falseに設定すると、現在開いているタブの中にURLが開かれます。

Url– ブラウザ内で開かれるURLです。

images/openrpa_open_url.png

OpenRPA.NM オープンURL.

3.5.4.A. OpenRPA.Office

OpenRPA.Officeのツールボックスの中にあるアクティビティは以下の通りです。

パラグラフィーの追加

Microsoft Word文書に新しい段落を追加し、位置Indexに挿入します。

プロパティパラメータ

ファイル名– 段落が追加されるMicrosoft Word文書ファイルのパスのフルパスまたはファイル名です。

Index– 段落が追加されるインデックスファイルのパスです。したがって、もしユーザーが、その後に段落を含む位置で追加した場合、新しい段落はその間に追加されます。

テキスト– 追加されるテキスト、すなわち段落。

DisplayName– シーケンス内のアクティビティのタイトル。

images/openrpa_add_paragraph.png

OpenRPA.Officeパラグラフを追加する。

クリアレンジ

セルの範囲からすべてのデータと書式をクリアします。

プロパティパラメータ

セル– すべてのセルを消去する場合は、消去するセルの範囲を選択するか、または空白のままにします。

ファイル名– Microsoft Excelワークブックのフルパスまたはファイル名

ワークシート– セルのクリアを行うワークシートの名前です。

DisplayName– シーケンス内のアクティビティのタイトル。

ReadPassword– パスワードが必要な場合に Microsoft Excel ファイルを開く方法を提供する。パスワードは引用符で囲んでください。

Visible– Microsoft Excel のインターフェイスが実際に開きます。

WritePassword– パスワードが必要な場合に、Microsoft Excelファイルを保存する方法を提供します。パスワードは引用符で囲んでください。

ワークブック– 読み込まれるワークブックを選択する方法を提供します。

images/openrpa_clear_range.png

OpenRPA.Officeのクリアレンジ

ドキュメントを閉じる

Microsoft Wordの文書を閉じます。また、他のドキュメントが開いていない場合は、Microsoft Wordアプリケーション自体も閉じます。このアクティビティはOpenRPA.Close Applicationと非常によく似た動作をしますが、ここでの唯一の違いは、Wordドキュメントを閉じるときにデフォルトで保存することです。

プロパティパラメータ

ファイル名– 閉じられるMicrosoft Wordドキュメントのフルパスまたはファイル名です。

変更を保存する – Word文書を閉じるときに、変更を保存するかどうかを指定します。デフォルトはTrueです。

DisplayName– シーケンス内のアクティビティのタイトル。

images/openrpa_close_document.png

OpenRPA.Officeのクローズドキュメント

ワークブックを閉じる

開いているMicrosoft Excelのワークブックを閉じます。他に開いているワークブックがない場合は、Microsoft Wordも閉じます。このアクティビティはOpenRPA.Close Applicationと非常によく似た動作をしますが、唯一の違いは、Excelドキュメントを閉じるときにデフォルトで保存することです。

プロパティパラメータ

ファイル名– 閉じられるMicrosoft Excelワークブックのフルパスまたはファイル名です。

Save Changes– Excelワークブックを閉じるときに、変更を保存するかどうかを指定します。デフォルトはTrueです。

Workbook– すでに開いているWorkbookの 変数名を渡すこともできます。

DisplayName– シーケンス内のアクティビティのタイトル。

images/openrpa_close_workbook.png

OpenRPA.Officeを閉じるワークブック

メール取得

Microsoft Outlook フォルダからすべての電子メールを取得し、item変数に自動的に保存します。その後、ユーザーは、選択したフォルダー内のすべての電子メールをループするか、Emailsフィールドに挿入してIEnumerable<email>型の変数に保存するかを選択することができます。

また、DASL クエリを使用して、収集した電子メールをフィルタリングすることもできます。例えば、"@SQL=urn:schemas:httpmail:subject LIKE '%${SUBJECT}%'"というクエリは、件名に${SUBJECT} で渡したパラメータを含むすべてのメールにフィルタをかけることができるのです。

ここで、${FOLDERPATH}は添付ファイルを保存するフォルダファイルのパスを含むString変数、${OVERWRITE}はファイルを上書きするかどうかを指定するBoolean値で、Trueに設定すると上書きは行われません。

プロパティパラメータ

Filter– 指定した文字列を含むメールのみを取得するためのフィルタを渡すことができます。

フォルダ– 電子メールが収集されるフォルダです。

MaxResults– 取得するメールの最大件数を指定します。

UnreadOnlyTrueに設定すると、未読のEメールのみを取得します。それ以外の場合は、すべての既読および未読の電子メールを取得します。

DisplayName– シーケンス内のアクティビティのタイトル。

Emails– 取得したすべてのメールを含むIEnumerable<email>型の変数に保存されます。

images/openrpa_get_mails.png

OpenRPA.OfficeのGet Mails

パラグラフを取得

Microsoft Word文書から、インデックス1から始まる1つまたは複数の段落を取得します。ユーザーは最初に取得したテキストが保存される可変ファイル パスをTextパラメータに設定する必要があります。ユーザーがインデックスを設定しない場合、活動はWord文書内のすべてのテキストをキャプチャします。必要であれば、キャプチャされる段落の量を制限するために、最大 結果パラメータで結果の最大数を設定し、カウントパラメータでWord文書に含まれる段落の数を保持するために変数を設定することも可能です。また、Word文書に加えた変更を有効にするには、[段落の設定]アクティビティを使用して保存する必要があります。

プロパティパラメータ

ファイル名– 段落を取得するMicrosoft Wordドキュメントのフルパスとファイル名です。

インデックス– 収集される段落の開始インデックスです。Word文書内のテキスト全体を収集する場合は、このフィールドを空白にします。

DisplayName– シーケンス内のアクティビティのタイトル。

最大 結果– 取得する段落の数を制限します。空白にすると、インデックス以降のすべてを取得します。

Count– ドキュメント内の段落の総数を返します。

Text– この変数に結果テキストを保存します。

images/openrpa_get_paragraph.png

OpenRPA.OfficeのGetParagraph

選択した範囲を取得する

Microsoft Excel アプリケーションの Windows UI 内で、Excel ワークシート内で選択されている範囲のセルインデックスを取得します。...をクリックして、Excelワークシートを開くファイルを選択します。セルが選択されていない場合、デフォルトでC11セルを返します。

プロパティパラメータ

ColumnAbsoluteTrueに設定すると、列の絶対インデックスを返します。文字の前に$を付ける必要があります。例えば、$Aは最初の列を返します。

ExternalFalseに設定すると、ワークブックとワークシートの参照を含めずに、ローカルな参照を返します。

ファイル名– Microsoft Excel Workbookのフルパスまたはファイル名です。

RowAbsoluteTrueに設定すると、その行の絶対インデックスを返します。数値の前に$ を付ける必要があります。例えば、$9とすると行番号 9 を返します。

Worksheet– セルが選択されるワークシートの文字列

DisplayName– シーケンス内のアクティビティーのタイトル。

ReadPassword– ファイルの読み取りに使用されるパスワード。

VisibleTrueに設定すると、Excelワークシートが目に見える形で開かれ、アクティビティが実行されます。

WritePassword– ファイルの書き込みに使用されるパスワード。

範囲– 選択された範囲が保存される可変ファイルパス。

ワークブック– ユーザーは、ファイル名の代わりに、既に開いているワークブックを使用することもできます。

images/openrpa_get_selected_range.png

OpenRPA.Office 選択されたレンジを取得する。

MailItemを移動する

Get MailsActivityで取り込んだメールを、ドロップダウンで選択したフォルダに移動します。

まず、ドロップダウンでフォルダを選択し、次にメール入力フィールドに移動するメールオブジェクトを入力します。このメールオブジェクトは、Get MailsActivityのIEnumerable<email>変数からインデックスが作成されます。

プロパティパラメータ

フォルダ電子メールが移動されるフォルダファイルのパスです。

Mail– 移動されるOutlook内の電子メールに対応する電子メールオブジェクト。

images/openrpa_move_mailitem.png

OpenRPA.Office MoveMailItem

新規MailItem

新しい電子メールアイテムを作成し、目的の電子メール 連絡先に送信するか、新しいOutlookメッセージボックスを開き、その中で他のアクティビティを実行するようユーザーに促します。後者のオプションを選択した場合、ユーザーが変更を保存するよう求められたときに[はい]をクリックすると、Outlookは新しい下書きを作成するか、単に電子メールメッセージ全体を破棄します。

また、添付ファイルのパスを含む文字列 リスト変数を指定することで、添付ファイルを送信することができます。ユーザーは、HTMLBodyパラメータで添付ファイルを使用することにより、添付ファイル、すなわちメディアを消費することもできます。

プロパティパラメータ

Attachments– 添付ファイルのパスを含む文字列 リスト。例:{"C:/BPA/attachment1.pdf", "C:/BPA/attachment2.png"}.注:変数の型はString[]、すなわち文字列のリストとして設定する必要があります。

BCCBlind Carbon Copyブラインド・ カーボン・ コピー)。あらかじめ定義された受信者にメールを送信し、他の受信者を見ることができないようにするものです。

本文電子メールメッセージのテキスト本文。

CCカーボン コピー。あらかじめ定義された受信者にメールを送信し、他の受信者を確認できるようにします。

HTMLBody電子メールメッセージのHTML本文。

SubjectEメールメッセージの件名。

To電子メールメッセージの主な受信者。

DisplayName– シーケンス内のアクティビティのタイトルです。

UIAction– [送信]を選択した場合、すぐにメールが送信されます。そうでない場合は、Outlookメッセージボックスのプロンプトが表示されます。

Email– Activityの結果が保存されるメールオブジェクトのファイルパス。別のフォルダに送るなど、送信後のメッセージの操作に使用できます。

images/openrpa_new_mailitem.png

OpenRPA.Office 新しいMailItem

リードセル

Microsoft Excelシートの1つのセルの内容を変数に読み込む。

プロパティパラメータ

セル– 読み込まれるセル、例えば"A8"

ArgumentType– セルの内容が保存される変数ファイルパスのタイプ。

DisplayName– シーケンス内のアクティビティのタイトル。

Filename– 読み込まれるファイルのファイル名.

Result– セルの結果の内容が保存される可変長のファイルパスです。

WorkbookWorkbookオブジェクト全体が保存される可変のファイルパス。このActivityは特定のセルを読み取るにもかかわらず、Workbookも利用可能です。

ワークシート– データを収集するためのワークシートです。

数式– セル内の数式の内容を保存する変数ファイルのパスです。

Range– 読み込まれる範囲。

images/openrpa_read_cell.png

OpenRPA.Office Read Cell.

読み取り範囲

Microsoft Excelシートのセル範囲を読み取る。

プロパティパラメータ

セル– 読み込まれるセルは、コロンで区切ることができる。

Filename– 読み込まれるファイルのファイル名.

ワークシート– 読み込まれるExcelファイル内のシートです。

Clear Formats– セルの書式をクリアします。

DisplayName– シーケンス内のアクティビティーのタイトル。

IgnoreEmptyRows– 読み込まれるファイル内の空の行を無視します。行の番号付けが変更されることに注意してください。

ReadPassword– ファイルのパスワードを含む文字列(存在する場合).

ヘッダー 行を使用– 選択されたセルの範囲からヘッダーを読み込みます。

VisibleOpenRPAは、WindowsのUIで実際にExcelファイルを開きます。

WritePassword– ファイルが読み込まれた後に書き込まれるパスワード.

DataTable– データが保存されるDataTableファイルのパス.

lastUsedColumn– 最後に使用されたカラムのインデックスを変数に保存する.

lastUsedRow– 最後に使用された行のインデックスを変数に保存する。

ワークブックワークブックを特定の変数に保存します。

images/openrpa_read_range.png

OpenRPA.Officeの読み取り範囲

Excelのマクロを実行する<>。

このアクティビティは、Microsoft Excelのマクロの実行を担当します。

このActivityが作成されると、「型の選択」というダイアログウィンドウが表示されます。このマクロを定義するVBA マクロ プロシージャが実際に何らかのデータを返す場合、ユーザーは戻り出力のデータ型を選択する必要があります。そうでなければ、ユーザーはこのパラメータをStringとして設定することができます。マクロとは何か、どのように使うかについては、「OfficeでVBAを始める」(https://docs.microsoft.com/en-us/office/vba/library-reference/concepts/getting-started-with-vba-in-office)のページを参照してください。VBA マクロ プロシージャがパラメータを受け取る必要がある場合、パラメータはParameters内でString 配列として宣言する必要があります (すなわち、{} で囲みます)。

Microsoft Excelが終了している場合、ワークフローがこのアクティビティに到達すると、Excelが開かれます。

プロパティパラメータ

名前– 実行されるマクロの名前。これはファイル名ではなく、選択されたファイル内のマクロの名前であることに注意してください。この名前は、引用符で囲まれている必要があります。

Parameters– マクロが必要とするパラメータ。これは、すべてのパラメータを含む配列である必要があります。

DisplayName– シーケンス内のアクティビティのタイトルです。

Filename– 実行されるマクロを含むxlsmファイルのフルパスまたはファイル名です。

Result– マクロの結果(出力)が保存される変数または引数ファイルのパス(ある場合)。ワークフローを実行する前に作成する必要があります。

WorkbookWorkbookオブジェクト全体を保存することができる変数ファイルパス。この変数の型は “Microsoft.Office.Interop.Excel.Workbook” でなければなりません。

Worksheet– マクロが読み込まれるワークシートの名前です。文字列である必要があります。

OpenRPA.OfficeのExcelマクロを実行する<>。

スライドショーの実行

このアクティビティは、事前に作成したMicrosoft PowerPointのスライドショーを発表する役割を担っています。

プロパティパラメータ

ファイル名-提示されるMicrosoft PowerPointのスライドショーのフルパスまたはファイル名。

StartingSlide– ロボットがスライドショーの提示を開始すべき、スライドのインデックスです。

AdvanceTime– プレゼンテーションの次のスライドを表示する前にOpenRPAが待機すべき時間間隔です。 単純な 00:00:00.00 {hh:min:ss.mili} またはTimeSpanクラスのオブジェクトにすることができます。

CloseAtEndブール値。Trueに設定すると、プレゼンテーションが終了したとき、Microsoft PowerPointアプリケーションの実行を停止する。そうでなければ、それは開いたままになります。

DisplayName– シーケンス内のアクティビティのタイトルです。

EndingSlide– 最後に表示されるスライドのインデックスです。

KioskMode– ブール値。Trueに設定すると、Microsoft PowerPointのキオスクモードが有効になります。つまり、ユーザーがスライドショーの実行を妨害できないように、スライドショーが自動的に表示されるようになります。

OpenRPA.Office Run スライドショー

メールアイテムの保存

Microsoft Outlookの電子メールアイテムをファイルとして保存します。

まず、プロパティボックスの EMailパラメータに、IEnumerable<email>変数からインデックスを作成した電子メールオブジェクトを入力します。このメールオブジェクトは、Get Mailsアクティビティで取得したIEnumerable<email>変数からインデックスを作成したものです。電子メールは、電子メールの件名を ファイル名として、指定されたフォルダに自動的に保存されます。

プロパティ パラメータ

EMail– ファイルに保存される電子メールアイテム。IEnumerable<email>変数からインデックス化されています。

フォルダ電子メールアイテムが保存されるフォルダパスファイルのパスです。

DisplayName– シーケンス内のアクティビティのタイトルです。

タイプ電子メールアイテムを保存するために使用されるファイルのタイプです。現在サポートされている形式は、.doc,.html,.ics,.mht,.msg,.rtf,.oft,.txt,.vcs,.vcfです。

Filename– 現在未使用のパラメータです。

images/openrpa_save_mailitem.png

OpenRPA.Office 保存MailItem

セット・パラグラフ

このアクティビティは、Microsoft Word文書内の段落の内容を設定します。

Indexパラメータに値を指定しないことで、ドキュメント全体を指定したテキストで上書きすることができます。変更内容を設定した後、[ドキュメントを閉じる]アクティビティを使用してWordドキュメントを適切に閉じ、保存することをお勧めします。

プロパティ パラメータ

ファイル名– 段落が設定されるMicrosoft Word文書ファイルのパスのフルパスとファイル名です。

Index– 設定される段落のインデックス.

Text– 与えられた段落またはドキュメント全体を上書きするテキストを含むテキスト変数または文字列

DisplayName– シーケンス内のアクティビティのタイトルです。

images/openrpa_set_paragraph.png

OpenRPA.Officeセットパラグラフ」。

セル<>を書き込む

Microsoft Excel文書内の1つのセルに値や数式を設定する方法です。

ユーザーは、まず、セルに保存されるデータ型に対応するResultのタイプを設定する必要があります。このデータ型は、Excelドキュメント内ですでに設定されている必要があります。また、Workbookパラメータで使用するワークブックと、セルの書き込みや上書きに使用するワークシートを指定することができます。

プロパティパラメータ

セル– 内容が変更されるセル。

Formula– 値が取得され、セル内に配置される数式。

– 取得され、セル内に配置される、事前に指定されたデータ型を持つ変数またはコンテンツ。

DisplayName– シーケンス内のアクティビティーのタイトル。

ファイル名– セルに設定されるMicrosoft Excel文書ファイルのパスのフルパスとファイル名です。

Result– 現在未使用のパラメータです。

ワークブック– セルの内容を挿入または変更するために使用されるワークブックです。

ワークシート– セルの内容を挿入または変更するために使用されるワークシートです。

images/openrpa_write_cell_datatype.png
images/openrpa_write_cell.png

OpenRPA.Office Write Cell<>。

書き込み範囲

このアクティビティは、DataTableに含まれるすべてのデータをMicrosoft Excelのワークシートに書き込みます。

ユーザーは、最初に...ボタンをクリックし、保存または追加されるファイルのファイルパスを見つける必要があります。また、ユーザーは、ワークブック

プロパティパラメータ

Cell– 書き込みを開始する行ファイルのパスに対応する最初のCell

DataTable– データを収集するためのテーブル

ファイル名– セルに設定されるMicrosoft Excel文書ファイルのパスのフルパスとファイル名です。

Worksheet– 書き込むシートファイルのパス名です。

DisplayName– シーケンス内のアクティビティーのタイトル。

ReadPassword– ファイルの読み取りに使用されるパスワード。

ヘッダー 行を使用Trueに設定すると、DataTableからヘッダーを使用して、選択されたセルの範囲を書き込みます。

VisibleTrueに設定すると、Microsoft Excelドキュメントを目に見える形で開き、書き込むことができます。

WritePassword– ファイルの書き込みに使用されるパスワード。

ワークブック– セルの内容を挿入または変更するために使用されるワークブックです。

images/openrpa_write_range.png

OpenRPA.Officeの書き込み範囲

3.5.4.B. OpenRPA.OpenFlowDB

OpenRPA.OpenFlowDBツールボックスの中にあるアクティビティです。

OpenFlowを割り当てる

OpenFlowワークフローをユーザーまたはロールに割り当てます。このアクティビティは、Node-RED内のassignノードと非常によく似た動作をします。

プロパティパラメータ

DisplayName– シーケンス内のアクティビティのタイトル。

InitialRun– このパラメータは、割り当てられたワークフローに初期実行を属性付けします。

targetid– ワークフローが割り当てられるユーザーファイルパスのID。

Wait until CompletedTrueに設定すると、OpenRPAは Workflow呼び出しが終了するまで待機します(成功またはエラー)。成功した場合、データを含むメッセージ(Node-REDのフローで設計されたもの)がOpenRPAロボットに返されます。

workflowid– 割り当てられるワークフローのIDです。

images/openrpa_assign_openflow.png

OpenRPA.OpenFlowDB 割り当てOpenFlow

ファイルの削除

OpenFlow の MongoDB データベースからファイルを削除します。ユーザーは、削除したいファイルのファイル名か、OpenFlow のページ > 管理 > ファイル > ファイルの編集ボタンをクリック > json を表示、または URL を確認することで得られるid のどちらかを使用することができます。

プロパティパラメータ

_id– 削除されるファイルのID

DisplayName– シーケンス内のアクティビティのタイトル。

Filename– 削除されるファイルのファイル名です。

IgnoreErrors– 発生した可能性のあるエラーを無視し、ファイルを強制的に削除します。

images/openrpa_save_file.png

OpenRPA.OpenFlowDB 削除ファイル

デリートワン

OpenFlow MongoDB データベースから項目を一つ削除します。ユーザーは、アイテムが属するコレクションファイルのパスを指定する必要があります。データベースから一括で削除するオブジェクトを指定することもできます。

プロパティ パラメータ

_id– 削除されるアイテムのID

コレクション– アイテムが属するコレクションファイルのパス。

DisplayName– シーケンス内のアクティビティのタイトル。

IgnoreErrors– 発生した可能性のあるエラーを無視し、アイテムを強制的に削除します。

Item– ユーザーが_id の代わりに指定できるオブジェクト。

images/openrpa_delete_one.png

OpenRPA.OpenFlowDB 削除ワン

認証情報の取得

OpenFlow から暗号化されたクレデンシャルのセットを取得します。これは、Set Credentialsアクティビティで OpenFlow MongoDB データベースに以前保存したクレデンシャルを取得する方法として最も推奨されるものです。KeePass のようなローカル金庫の代わりとして最適です。

プロパティパラメータ

DisplayName– シーケンス内のアクティビティーのタイトル。

名前– 取得されるクレデンシャルの名前。

Password– パスワードをSecureString型変数(https://docs.microsoft.com/en-us/dotnet/api/system.security.securestring?view=netcore-3.1)に保存します。

UnsecurePassword– 取得したパスワードをString型の変数に保存します。

Username– 取得したユーザー名をString型の変数に保存します。

images/openrpa_openflowdb_get_credentials.png

OpenRPA.OpenFlowDBの認証情報取得

ファイルを取得する

OpenFlow MongoDB データベース内に保存されているファイルをダウンロードし、指定されたLocalPath に保存します。ユーザーは、ダウンロードしたいファイルのファイル名か、OpenFlow のページ > 管理 > ファイル > ファイルの編集ボタンをクリック > json を表示、または URL を確認することで、id を利用することができます。ファイルを保存するフォルダ・ファイルパスは、すでに存在している必要があります。

プロパティパラメータ

_id– ダウンロードされるファイルのID

DisplayName– シーケンス内のアクティビティのタイトル。

Filename– ダウンロードされるファイルのファイル名です。

IgnorePathTrueに設定すると、LocalPathの最後の名前を無視します。OpenFlow内部で作成されたフルフォルダをダウンロードする際に便利です。

LocalPath- ファイルが保存されるフォルダファイルパスのパス。

images/openrpa_get_file.png

OpenRPA.OpenFlowDB取得ファイル

許可する

指定されたオブジェクトのユーザまたはロールのパーミッションを追加または更新するものです。InsertまたはUpdate Oneでパーミッションを変更した後は、OpenFlowでドキュメントを更新する必要があります。また、オブジェクトはOpenFlowDB.Queryアクティビティから提供される必要があります。

プロパティパラメータ

DeleteTrue に設定すると、指定されたユーザーまたはロールが OpenFlow 内でオブジェクトを削除することを許可します。

DisplayName– シーケンス内のアクティビティーのタイトル。

EntityId– OpenFlow MongoDBデータベース内のオブジェクトのID

ItemOpenFlowDB.Queryアクティビティから収集したオブジェクト

名前– ファイルパスのパーミッションが追加されるロールまたはユーザーの名前です。

ReadTrueに設定すると、指定されたユーザーまたはロールがOpenFlow内のオブジェクトを読み取ることを許可します。

Result– 結果オブジェクトが保存されるJObjectファイルのパス.

UpdateTrue に設定すると、指定されたユーザーまたはロールがOpenFlow 内のオブジェクトを更新できるようになります。

images/openrpa_grant_permission.png

OpenRPA.OpenFlowDBの許可取得する。

インサートワン

OpenFlow MongoDB データベースにオブジェクトを一つ挿入します。

プロパティパラメータ

Collection– オブジェクトが保存されるコレクションファイルのパス。デフォルトは"entities "です。

DisplayName– シーケンス内のアクティビティのタイトル。

EncryptFields– 指定されたフィールドを暗号化する。

IgnoreErrors– OpenFlow MongoDB データベースにオブジェクトを強制的に追加し、発生しうるエラーを無視します。

Item– 追加されるオブジェクト。

Result– 追加されたばかりのオブジェクトを含むJObjectを返します。

タイプ– 追加されるオブジェクトのタイプです。

一意性– 項目が一意であるかどうかのフィールドを指定します。

images/openrpa_insert_one.png

OpenRPA.OpenFlowDBインサートワン

1つの挿入または更新

OpenFlow データベースにアイテムを更新し、存在しない場合は代わりに挿入します。ユーザが Uniqueness を指定しない限り、_idをチェックし、Uniqueness で指定されたフィールドを元に既存のアイテムを探します。

プロパティパラメータ

Collection– オブジェクトが保存されるコレクションファイルのパス。デフォルトは"entities "です。

DisplayName– シーケンス内のアクティビティーのタイトル。

EncryptFields– 指定されたフィールドを暗号化する。

IgnoreErrors– OpenFlow MongoDB データベースにオブジェクトを強制的に追加し、発生しうるエラーを無視します。

Item– 追加されるオブジェクト。

Result– 追加されたばかりのオブジェクトを含むJObjectを返します。

タイプ– 追加されるオブジェクトのタイプです。

一意性– 項目が一意であるかどうかのフィールドを指定します。

images/openrpa_insert_or_update_one.png

OpenRPA.OpenFlowDB InsertまたはUpdateOne.

クエリ活動

OpenFlow MongoDB データベースに 1 つ以上の項目を問い合わせます。

プロパティパラメータ

Collection– オブジェクトが保存されるコレクションファイルのパス。デフォルトは"entities "です。

DataTable– クエリの出力をDataTable に保存します。

DisplayName– シーケンス内のアクティビティのタイトル。

Orderby– データに問い合わせる順番を選択します。詳しくはこちら(https://docs.mongodb.com/manual/reference/operator/meta/orderby/#:~:text=In%20the%20mongo%20shell%2C%20use,in%20ascending%20or%20descending%20order.&text=These%20examples%20return%all%20documents,age%20field%20in%20descending%20 order.) をご覧ください。

Projectionここ(https://docs.mongodb.com/manual/tutorial/project-fields-from-query-results/)のように、データを投影するために使用するフィールドを提供します。

QueryString– コレクション内で返されるオブジェクトの名前です。

Result– クエリによって返されたすべてのオブジェクトを含むJObjectを返します。

Skip– スキップするアイテムファイルパスの数。引数の型はInt32です。

Top– トップアイテムを選択します。引数の型はInt32です。

OpenRPA.OpenFlowDBクエリ

許可証の削除

指定されたオブジェクトのユーザーまたはロールのパーミッションを削除します。その後、OpenFlowでInsertまたはUpdate Oneアクティビティを使用してパーミッションを変更した後、ドキュメントを更新する必要があります。アクティビティ内の入力フィールドは、パーミッションが削除されるユーザーを選択するためのオートコンプリートのフィールドです。ObjectItemはOpenFlowDB.QueryアクティビティのResultである必要があります。

プロパティパラメータ

DisplayName– シーケンス内のアクティビティのタイトル。

EntityId– OpenFlow MongoDBデータベース内のオブジェクトのID

ItemOpenFlowDB.Queryアクティビティから収集したオブジェクト

名前– 権限を追加するロールまたはユーザーの名前です。

Result– 結果オブジェクトが保存されるJObjectファイルのパス.

images/openrpa_remove_permission.png

OpenRPA.OpenFlowDBの削除権限

ファイルの保存

OpenFlow MongoDB データベースにファイルをアップロードして保存します。

プロパティパラメータ

DisplayName– シーケンス内のアクティビティのタイトル。

Filename– アップロードされるファイルの完全なパスとファイル名です。

パス– データベース内にパスを付加してファイルを保存します。特定のフォルダー内にアイテムを配置し、後でそれらを戻すために使用します。

Result– OpenFlow MongoDBデータベース内のファイルのIDを含む文字列

OpenRPA.OpenFlowDBセーブファイル

認証情報の設定

OpenFlow 内で暗号化されたクレデンシャルのセットを作成または更新します。これは、OpenFlow の MongoDB データベースにクレデンシャルを保存する最も推奨される方法です。KeePass のようなローカル金庫の代わりとして最適です。

プロパティパラメータ

DisplayName– シーケンス内のアクティビティのタイトル。

Name– 保存されるクレデンシャルの名前。

Password– 保存されるクレデンシャルのパスワード。

Username– 保存されるクレデンシャルのユーザー名です。

images/openrpa_openflowdb_set_credentials.png

OpenRPA.OpenFlowDBセットクレデンシャル

データテーブルからの更新

OpenFlowのコレクション内に、DataTableの各行をEntityとして追加します。

ユーザーは、データを挿入するコレクションを最初に挿入する必要があります。デフォルトのコレクションは「entity」ですが、新しいコレクションにデータを追加したい場合、ユーザーは任意のコレクション名を挿入することができます。コレクションが存在しない場合、アクティビティは自動的にそれを作成します。

次に、データの取得元となるDataTableを挿入する必要があります。

EncryptFieldsを使用すると、ユーザーはClient-Side Field Level Encryption(https://docs.mongodb.com/manual/core/security-client-side-encryption/) を使用してデータを暗号化することができます。

Resultパラメータは、行の挿入によって返されたクエリを含むデータをJArray変数に保存します。

Typeパラメータは、行にフィールドがないか、NULL""、または空の場合、与えられた行に追加されるデフォルトの型を指定します。

Uniquenessパラメータは、 インデックス化されたフィールドに重複した値を保存しないようにするものです。デフォルトの一意性インデックスはid(MongoDB では_id として保存されます) です。しかし、ユーザーはname のような別の一意性インデックスを指定することができます。一意なインデックスを指定するには、カンマで区切って入力します。つまり、一意なインデックスとしてnametypeを指定したい場合は、このパラメータにname,type と入力すればいいのです。これについては、ユニーク・インデックス(https://docs.mongodb.com/manual/core/index-unique/)を参照してください。

プロパティパラメータ

コレクション– データが挿入されるコレクション。デフォルトのコレクションは「entity」ですが、新しいコレクションにデータを追加したい場合、ユーザーは任意のコレクション名を挿入することができます。コレクションが存在しない場合、アクティビティは自動的にそれを作成します。

DataTable– データの取得元となるデータテーブル

DisplayName– シーケンス内のアクティビティーのタイトル。

EncryptFieldsClient-Side Field Level Encryption(https://docs.mongodb.com/manual/core/security-client-side-encryption/) を使用して、ユーザーがデータを暗号化できるようにします。

Result– 行の挿入によって返されるクエリを含むデータが保存される変数。JArray型でなければならない。

Type– 行にフィールドがないか、NULL""、または空の場合、指定した行に追加する既定の型を指定します。

一意性– インデックス化されたフィールドが重複した値を保存しないようにします。デフォルトの一意性インデックスはid(MongoDB では_id として保存されます) です。しかし、ユーザーはname のような他の一意性インデックスを指定することができます。一意なインデックスを指定するには、カンマで区切って入力します。つまり、一意なインデックスとしてnametypeを指定したい場合は、このパラメータにname,type と入力すればいいのです。これについては、ユニーク・インデックス(https://docs.mongodb.com/manual/core/index-unique/)を参照してください。

3.6. レコーダーとセレクター

OpenRPAでワークフローを作成する場合、レコーディングを行うことをお勧めします。デザイナーにアクティビティを延々とドラッグするのではなく、ユーザーがレコーダーを使用してステップを記録することが望ましいです。

レコーダーの使用方法は非常に簡単で、ユーザーはレコーダー・ボタンをクリックして、自動化されるタスクを実行するだけです。記録中に、入力フィールドに特定の変数の内容を入力することが面白いと感じた場合、ユーザーはダミーテキストを使用し、レコーダーを閉じた後、アクティビティを使用してこれらのダミーテキストを変数に変更することができます。

セレクタはレコーダと密接に関係しています。Recorderは、基本的に、クリックされたものがあれば、ユーザーのためにセレクタを構築する。セレクタは基準のセットであり、それを使ってOpenRPAは明確に要素を見つけることができると期待されています。

ユーザがゼロからセレクタを作成することも可能ですが、これは推奨されません

images/openrpa_recorder_what_is_selector.png

レコーダーを使った自動化の徹底的な例は、「Windowsオートメーション」のセクションで紹介しています。

OpenRPAではRecorderに関連する設定をカスタマイズすることができます。例えば、録画中に要素をハイライトしたり、RecorderがDesignerにアクティビティを追加する方法を変更したりできます。詳しくはParameters、特にrecording_add_to_designerと record_overlayをご覧ください。

3.6.1. 技術間の違い(NM、SAP、Windows、…)

まず、録画中に何らかの要素をクリックすると、Recorderはクリックされた要素が Windows UI 要素に属すると仮定します。次に、いくつかのロジックを処理し、ユーザーが記録しようとしているアクションに適合する、より良いテクノロジがあるかどうかを確認します。見つかった場合、Recorderは自動的に「Windows」から最も適切な技術に置き換えられ、WebElementのクリック、SAPの入力フィールドへの入力、Excelシートへのデータ書き込みなど、自動化をよりよく処理するアクティビティが提案されます。別の技術を探すロジックが失敗した場合、つまり、より有用なものが見つからない場合、Recorderは Windows UI Element用のセレクタを構築します。

つまり、Recorderを使用してExcelのセルをクリックすると、Recorderはまずその要素がWindows UI 要素であると仮定しますが、その後それがExcel 要素であることに気づき、そのタスクにより適しているため、Windows.GetElementから Office.Activity.WriteCellに自動的にアクティビティを置き換えるのです。

SAPIEJavaImageNM(NativeMessaging:Chrome、Firefox、Edge)など、すでに実装されている技術も多く、今後さらに増えていく予定です。

3.6.2. 複数の要素を返す

時には、単一の要素ではなく、複数の要素を取得する必要がありますが、これはセレクタを調整することで実現できます。例.Googleで検索した後、多くの結果が表示され、ユーザーは最初の1つだけでなく、すべての結果を操作したいとします。

ここでは、その方法を簡単に説明します。Google検索の例と同じように、レコーダーを使って、検索結果の中からエントリーを選択します。

images/openrpa_recorder_click_element.png

レコーダーは、あなたがその特定の項目だけを望んでいると仮定し、セレクターはそれを考慮して作られていることに注目してください。

images/openrpa_recorder_change_selector.png

1つだけでなく複数の要素を返すようにするには、まずMaxResultsプロパティを1より大きい数値に変更します(上限はありません)。

images/openrpa_recorder_add_max_results_and_click_open_selector.png

ここで、セレクタの基準を変更し、単一の要素ではなく、要素の配列を返すようにする必要があります。WebElements を扱う場合は、xpathパラメータを変更して、より広範な結果を返すようにすることで実現できます。

images/openrpa_recorder_change_selector_2.png

さて、この広い配列の各要素をループさせるために、Recorderが最初に作成した配列の中に、別のGetElementActivityを組み込みます。

備考

レコーダが動作する技術に関連する GetElement Activity を使用します。Windowsの要素を使用する場合、Windows.GetElementでなければなりません。他の技術についても同様です。OpenRPA.IE.GetElement, OpenRPA.Image.GetElement, OpenRPA.NM.GetElementなど。

images/openrpa_recorder_add_get_element.png

新しく作成したGetElementの セレクタを開くと、左側にエレメント ツリーがあり、操作するものをさらに選択することができます。ハイライトボタンを使ってデバッグし、正しい要素が選択されているかどうかを確認します。

images/openrpa_recorder_elements_highlighted.png

ここで、特定のエントリごとにさらなる自動化が必要な場合、それらのアクティビティを内側のGetElement内に追加します。

3.6.3. 手動でセレクタを調整する

セレクタを自分のニーズに合わせて調整する方法はたくさんあります。このセクションでは、セレクタに変数を渡す方法、ワイルドカード(https://ryanstutorials.net/linuxtutorial/wildcards.php) を使って要素をループさせる方法、セレクタの中でネストさせる方法、その他いくつかのトリックを学びます!

3.6.3.1. セレクタに変数を渡す

セレクタに変数を渡すのはとても簡単です。ユーザはMustache(https://mustache.github.io/mustache.5.html) 構文を使って既存のパラメータに値を追加するか、セレクタの内部でカスタムパラメータを使用することができます。

この例では、Recorder を使って Google Search ページ内の要素をキャプチャし、既存のSelectorパラメータに追加する変数を渡します。

ユーザーは、Google(https://www.google.com/)のメインページで検索したい検索入力を自由に入力することができます。この場合、作者はrabbitmqを選択しました。

images/openrpa_recorders_and_selectors_search_rabbitmq.png

ここで、ユーザーはOpenRPAを開き、新しいワークフローを作成する必要があります。筆者は「Manually Adjusting Selectors」と名付けました。

Sequenceの中をクリックし、OpenRPAのリボン内にあるRecorderボタンをクリックします。次に、ページ内の要素内をクリックします。

images/openrpa_recorders_and_selectors_click_element_in_page.png

ユーザーがInternet Explorerを使用している場合は、新しいOpenRPA.IE.GetElementActivityが表示されます。一方、ユーザーがEdgeChromeFirefoxを使用している場合、新しいOpenRPA.NM.GetElementアクティビティが表示されます。

images/openrpa_recorders_and_selectors_click_open_selector.png

ここで、ユーザーは「セレクタを開く」ボタンをクリックする必要があり、セレクタ デザイナーが表示されます。

images/openrpa_recorders_and_selectors_selector_window_open.png

現在、ユーザーはxpathパラメータの一部のみを置き換えることになります。xpathパラメーターのdiv/span/span[2]部分を取り除き、取り除いた値を代入する変数名を含むMustache 追加します。著者はその変数の名前をselectorValueにしたので、Mustache 式は {{selectorValue}} になる。

この後、ユーザーはOkボタンをクリックしてセレクタ デザイナーを閉じることができます。

images/openrpa_recorders_and_selectors_selector_window_strip_string.png
images/openrpa_recorders_and_selectors_selector_window_string_stripped.png

ここでユーザーはこの変数に値を代入する必要があります。値はxpathパラメータから取り除かれた値ですが、何でもかまいません。

操作の可能性は無限大。CSS セレクタを使うこともできます。詳しくは「CSSセレクタの使い方」をご覧ください。

Assignアクティビティをメインシーケンスにドラッグし、GetElementアクティビティのすぐ上に置きます。selectorValueという名前を付けて、前に取り除かれた値、つまり「div/span/span[2]」を代入してください。Ctrl+Kキーを押して、変数を作成します。

images/openrpa_recorders_and_selectors_assign_selector_value.png

ここで、GetElementアクティビティのSequence内のClick Elementアクティビティを削除し、その中にAssignアクティビティをドラッグして、値が本当にキャプチャされたかどうかをテストできるようにします。

selectorTextという変数に名前を付ける – これは完全に任意の値で、ユーザーは実際に好きな名前を付けることができます。

この変数にitem.Textを代入します。

images/openrpa_recorders_and_selectors_assign_selector_text.png

最後に、「通知を表示」アクティビティをメインシーケンスにドラッグし、その「メッセージ」入力フィールドにセレクタテキストを挿入します。

images/openrpa_recorders_and_selectors_selector_show_notification.png

今、ワークフローを実行すると、取得したメッセージを含む通知が表示されます。

images/openrpa_recorders_and_selectors_mustache_notification.png

3.6.3.2. CSSセレクタの使用

XPath セレクタ(https://www.w3schools.com/xml/xpath_syntax.asp) と同様に、CSS セレクタ(https://www.w3schools.com/cssref/css_selectors.asp) も使用することができます。このセクションでは、CSS セレクタを使用して、前のセクションで選択したspan要素のクラスに関連するすべての項目を、cssselectorパラメータ内に属するCSSセレクタを渡すだけで選択する方法を学びます。

まず、span要素の クラスに 属するCSSクラスを特定する必要があります。

F12キーまたはCtrl+Shift+Iキーで操作できます。

すると、「コンソール」ウィンドウが表示されます。Elementsタブをクリックします。

ここで、Ctrl+Shift+Cを押してspan要素を選択します。

images/openrpa_recorders_and_selectors_css_selector_select_element.png

選択された要素が継承する 最初の ``div`` CSS クラス名をコピーします。この例では、.IsZvecというクラスがそれにあたります。このクラスの名前はどこかに保存しておいてください。

images/openrpa_recorders_and_selectors_css_selector_copy_class.png

ここで、OpenRPAを開き、Recorderボタンをクリックします。そして、ページ内の要素をクリックします。

images/openrpa_recorders_and_selectors_click_element_in_page.png

新しいGetElementActivityの中のSequenceから Click ElementActivityを削除する。

images/openrpa_recorders_and_selectors_css_selectors_remove_click_element.png

ここで、ユーザーは「セレクタを開く」ボタンをクリックする必要があり、セレクタ デザイナーが表示されます。

下の画像に示すように、xpathパラメータを削除し、値".IsZvec" を持つ新しいcssselectorパラメータを追加します。最後に、Okボタンをクリックして、変更を保存します。

images/openrpa_recorders_and_selectors_css_selectors_selector_designer_before.png
images/openrpa_recorders_and_selectors_css_selectors_selector_designer_after.png

ここで、ユーザーはMaxResultsパラメータを適切な数値に変更する必要があります。この例では、Googles Search Engineは1ページに10件の結果しか表示しないので、作者はMaxResultsを10に設定しました。

OpenRPAが事前に設定したcssselectorを含む要素を見つけられない場合に備えて、ユーザーはMinResultsも 0に変更する必要があります。

最後に、Timeoutパラメータを00:00:00またはTimeSpan.FromSeconds(0)に設定することが推奨されます。

images/openrpa_recorders_and_selectors_css_selectors_get_element_properties.png

これで、NM/IE.GetElementActivity内のSequenceに入れられたActivityは、.IsZvecクラスを含むすべての要素に対してループされることになります。

このSequenceの最後にWriteLineアクティビティをドラッグして、そのText入力にitem.Textの値を代入することで、上記をテストすることができます。

images/openrpa_recorders_and_selectors_css_selectors_drag_writeline.png

これでワークフローを実行すると、以前設定したクラスを含むすべての要素についてテキストが表示されます。

images/openrpa_recorders_and_selectors_css_selectors_finished.png

以上です。これで、OpenRPAでCSS セレクタを設定する方法がわかりました。

3.6.3.3. ワイルドカードの使用

このセクションでは、CSS セレクタを使用する方法と同様に、XPath セレクタを使用して、指定されたHTML DOM Element Object(https://www.w3schools.com/jsref/dom_obj_all.asp) 内の複数の要素をキャプチャする方法を学びます(https://www.w3schools.com/xml/xpath_syntax.asp) 。

OpenRPAを開き、Recorderボタンをクリックします。次に、ページ内の要素をクリックします。

images/openrpa_recorders_and_selectors_click_element_in_page.png

新しいGetElementActivityの中のSequenceから Click ElementActivityを削除する。

images/openrpa_recorders_and_selectors_css_selectors_remove_click_element.png

ここで、ユーザーは「セレクタを開く」ボタンをクリックする必要があり、セレクタ デザイナーが表示されます。

images/openrpa_recorders_and_selectors_selector_window_open.png

これで、ユーザーはxpathパラメーターの一部だけを切り取ることができます。xpathパラメーターのdiv[3]/div/div[2]/div/span の部分文字列をdiv[*]/div/div[2]/div/span に置き換えるのです。これにより、OpenRPAは10個の検索要素をすべて捕捉することができます。

この後、ユーザーはOkボタンをクリックしてSelector Designerを終了することができます。

images/openrpa_recorders_and_selectors_nesting_get_elements_selector_window_strip_string.png
images/openrpa_recorders_and_selectors_nesting_get_elements_selector_window_string_stripped.png

Recorderで生成されたIE/NM.GetElementActivity内のSequenceに WriteLineActivityをドラッグして、そのText入力フィールドにitem.Textの値を代入することで動作確認ができるようになりました。

images/openrpa_recorders_and_selectors_nesting_get_elements_drag_write_line.png

ワークフローを実行すると、検出された10個のスパン要素が正常に取り込まれたことが確認できます。

images/openrpa_recorders_and_selectors_nesting_get_elements_finished.png

3.7. ディテクター

Detectorは、OpenRPA内部の メインイベントリスナーです。意味が分からない場合は、イベントリスナー(https://www.computerhope.com/jargon/e/event-listener.htm)を参照してください。簡単に言うと、ワークフローがそのアクティビティの処理と実行を継続する前に、何かが起こるのを待つアクティビティです。

重要なのは、OpenRPA内部でDetectorを変更すると、その変更がOpenFlowに反映されることです。なぜなら、最終的にDetectorはOpenFlowに保存されるからです。しかし、これらの変更を更新するためにOpenRPAをリロードする必要はありません。

3.7.1. ディテクタの設定

Detectorを使用するには、まずDetectorの設定内でそれを定義する必要があります。以下のステップは、新しいPDFファイルをチェックするために、FileWatcher Detectorを設定する方法を示しています。

FileWatcher Detectorプラグインは、指定されたPath 内にファイルが追加されたときに起動します。また、File filterパラメータを使用することで、特定のファイル拡張子のみをチェックすることも可能です。特定のファイルをチェックするだけでなく、サブ ディレクトリ チェックボックスをオンにすることで、OpenRPAがサブディレクトリ内のファイル変更をチェックすることもできます。

まず、メインリボン内の「設定」タブをクリックします。

images/openrpa_configuring_detector_click_settings.png

次に、Detectorsのアイコンをクリックします。

images/openrpa_configuring_detector_click_detectors.png

ここで、デザイナー内の「Add FileWatcherDetectorPlugin」ボタンをクリックします。FileWatcherという名前の新しい検出器が表示されます。

images/openrpa_configuring_detector_click_add_filewatcher.png

最後に、ユーザーは検出器の名前と検出器がリッスンするパスを設定する必要があります。また、ファイル フィルタを設定して、検出器は指定された拡張子を持つファイル(例:*.pdf)のみをチェックするようにする必要があります。

images/openrpa_configuring_detector_filewatcher_parameter.png

Detectorsの使用方法については、「Detectorsの使用方法」のセクションに進んでください。

3.7.2. ディテクタを使う

OpenRPAが提供するDetectorには、様々な利用方法があります。ユーザーはDetectorを作成し、Node-REDを使用してそれを消費し、実行フローをトリガーすることができます。また、DoWhileアクティビティループの中にDetectorアクティビティを設定して、ワークフローを待機させることができます。さらに、StateMachine Activityを利用して、Detectorがトリガーされたときに遷移する異なるState Activityインスタンスを作成することもできる。

3.7.2.1. Node-REDによるディテクタの使用

このセクションでは、デバッグノードを使用して、rpa 検出器ノードを設定し、それが発火したときに渡されるメッセージを確認する方法を学びます。

まず、彼らのNode-REDインスタンスに移動します。

備考

Node-REDインスタンスの設定方法については、Node-REDへの初回アクセスに進んでください。

Node-RED を通して Detector を使用するのはとても簡単です。まず、「Detectorの設定」セクションにあるように、ユーザーは事前にDetectorを設定しておく必要があります。

rpa 検出器ノードを実行フローにドラッグします。

images/openrpa_configuring_detector_drag_rpa_detector.png

次に、rpa 検出器ノードをダブルクリックして、実行フローのトリガーに使用する検出器を設定します。この例では、「検出器の設定」セクションで設定した「ドキュメント 検出器」を使用します。

images/openrpa_configuring_detector_rpa_detector_configuring_parameter.png

デバッグノードを実行フローにドラッグします。

images/openrpa_configuring_detector_drag_debug.png

Ctrlキーを押しながら両方のノードのポートをクリックして、デバッグノードと先に設定したrpa ディテクタを配線します。

images/openrpa_configuring_detector_wire_nodes.png

最後に、[Deploy]ボタンをクリックして、変更を保存します。ノードの下にConnectedと表示されたステータスバーが表示されるはずです。

images/openrpa_configuring_detector_status_bar.png

Detectorが動作しているかどうかを確認するには、ユーザーはフォルダ内にファイルを挿入してDebug messagesボタンをクリックするか、Ctrl-g-dを押すだけでよいのです。

images/openrpa_configuring_detector_click_debug_button.png
images/openrpa_configuring_detector_debug_message.png

3.7.2.2. Do-Whileループによるディテクタの使用

ここでは、OpenRPAが終了するまで無限に稼働し続けるDetectorの使用方法について説明します。

OpenRPA内のメインシーケンスにDo WhileActivityをドラッグします。そのConditionパラメータをTrueに設定します。

images/openrpa_using_detectors_do_while.png

ここでユーザーは、Do Whileアクティビティの中にSequenceアクティビティをドラッグする必要があります。

images/openrpa_using_detectors_drag_sequence.png

Detectorアクティビティをシーケンスに追加し、起動するDetectorを選択します。この例では、Excel Detectorを選択します。

images/openrpa_using_detectors_drag_detector.png

これで、ユーザーはOpenRPAに実行させたいアクティビティやシーケンスを追加でき、検出器の発火と同時に実行されるようになります。

3.7.3. ファイルウォッチャーディテクター

FileWatcher検出器は、指定されたフォルダー内の新しいファイルをチェックします。

ディテクターパラメーター

Name– OpenFlow内部の検出器の名前。

Path– ファイルが配置されているフォルダーの絶対パス。

ファイル フィルターは、特定のファイル名を持つすべてのファイルをフィルターするように設定されています。このファイル フィルターでは、ワイルドカードを使用することもできます。一方、invoice で終わるファイルをチェックする場合は、*invoice.pdf となります。

Sub Directories– チェックした場合、このDetector Pluginは、指定されたルートディレクトリの中にある既存のディレクトリも再帰的にチェックします。

3.7.4. キーボード検出器

KeyboardSequence検出器は、特定のキーストローク、またはキーストロークのシーケンスを検出することができます。

ディテクターパラメーター

Name– OpenFlow内部の検出器の名前。

プロセス 制限とは、そのインターフェイスがメイン画面である場合に、これが聴かれないプロセスを指します。

キーは、Detectorを有効にするキーです。設定するには、ボタンSet keysを使用します。

3.7.5. JavaClickディテクタ

JavaClick検出器は、JavaElement内のクリックをリッスンします。

ディテクターパラメーター

Name– OpenFlow内部の検出器の名前。

セレクタレコーダーのプラグインと同じように、セレクト・ボタンを使って、あるいはセレクターを開くボタンで セレクター・ウィンドウを開いて、ユーザーが指定した要素を指定できるようにします。また、ハイライトボタンをクリックすることで、JavaElementが正常に指定されたかどうかを確認することができます。