タグ別アーカイブ: PAD

POWER AUTOMATE DESKTOPでエクセルをうまく活用する方法~

Power Automate Desktopをうまく活用すれば、VBAを覚えるよりも簡単にエクセル操作を自動化することができます

今回はPower Automate Desktop(以降、PAD)でエクセル操作をうまく行う方法を紹介します

ショートカットキーの操作

一般操作

PADのエクセルメニューは実際の操作内容と比べると豊富とは言えません

但し、ショートカットキーをうまく使うことでカバーが可能です

例として列の並び替えを行ってみましょう

下の画像のA列を降順にします

降順にするショートカットキーを確認するため、まずは「Altキー」を押します

すると、キー操作でエクセルを操作できるようになります

そのまま並び替えを行うと「Alt⇒A⇒SD」というショートカットキーであることが分かります

このショートカットキーを「キー送信アクション」に設定します

設定したキー送信前に並び替え範囲上にカーソルを置くことも重要です

これでショートカットキーで並び替えが行われるようになります

SUM関数

SUM関数をPADで操作する場合「=SUM()」とセルに入力する方法があります

実はPADの「キー送信」アクションでも行えます

ショートカットキーでは「Alt⇒Shift⇒=」ですが、PADでは=ではなく「OemMinus」と記述します

変数によるシート名設定

PADでは、操作するシートを選択する際には「アクティブなエクセルワークシートの設定」アクションを使用します

シート名の指定が頻繁に起こるようであれば、フローの最初で変数で指定できるようにしましょう

そうすれば、後でエクセル上でシート名を変更した際にPADの修正が楽になります

繰り返し処理

シート分割/ワークシート関数で余りを計算

下のGIF画像では1シートの内容を指定行数分で区切り、新シートに追加しています

最初はAllシートに18行あります

こちらのAllシートの18行をそれぞれ3行に分けて新規シートを追加することで、結果的に6シート追加されます

仕組みとしては繰り返し処理する行数(行位置)をカウントアップする際に、NO(1,2,3)を別シートに書き込んでいます

そしてMOD関数により3で割った余りを計算しています

つまり、繰り返し処理の際に次のような公式が成り立ちます

余り1(例:1や4)⇒別シートへのコピー開始行

余り3(例:3や7)⇒別シートへのコピー終了行

ですので、次の画像のような条件分岐処理を行えば指定行単位でのシート分割が行えます

上記画像の「intMod」は算出した余りの値です

intModが1の時には、コピー開始行の変数:rowStartに行位置を割り当てます

intModが0の時には、コピー終了行の変数:rowEndに行位置を割り当て、サブフローでシートを追加しコピーを実行します

この処理がそのまま他の業務で使えるとは思いませんが、役に立つと思える点が2つあります

1つはPower Automate DesktopではVBAのようにコード内での計算が行えません

ですので、今回のようにワークシート関数を埋め込んだ別シートで計算するのがとても有効なケースがあるはずです

2点目は、何かと余りを計算するMOD関数は使用機会が多いです

余りを活用すれば、思わぬ形で業務の定型化が行えます

下からの繰り返し処理

繰り返し処理は通常、上の行から行います

実は下から処理を行った方がうまく行くケースも多いです

一番分かりやすいのは、行削除を伴う繰り返し処理を行うケースです

上の画像で列1の値が「a」の場合に行を削除するとします

問題は5行目と6行目です

仮に繰り返し処理を行う際の行位置(行数)を変数:myRowで表現するとします

変数:myRowが5になった際には、行削除が行われます

*2行目が削除されるので、実際には4の時です

ここで、行6にあったaは行5に自動的に繰り上がります

一方、myRowは6になり、行6の処理に移ります

ですので、結果的に6行目(下のGIF画像では最初5行目*)のaが未処理で残ります

*上のGIF画像は2行目が削除された状態から始まっています

上のGIF画像では下のaが削除されてもbとcの下のaが残っているのがよくわかると思います

これが、繰り返し処理を下から行うと問題はなくなります

画像に alt 属性が指定されていません。ファイル名: image-54.png

行位置を表すmyRowが6になった時に行削除行われ、次にmyRowが5になった時にも削除が行われるからです

つまり、行削除を行った時の以降の行の動きと繰り返し処理の方向が一致するからです

実際にフローについて解説します

下から繰り返し処理を行うために「変数を小さくする」アクションをうまく活用します

行位置の初期値は列の最終行にし、繰り返し変数を小さくしていき、変数が2未満になったら終了するようにします

繰り返し処理がうまく行かないケースは、この下からの繰り返し処理もぜひ検討してみてください

にほんブログ村 資格ブログ ビジネススキルへ
にほんブログ村
にほんブログ村 IT技術ブログ VBAへ

POWER AUTOMATE DESKTOP でAPIを操作してデータを取得するの巻

 APIは「アプリケーション・プログラミング・インターフェイス」の略語で、Webスクレイピングとは違い、あらかじめネット上に公開してあるデータを収集します

今回の記事では、Power Automate Desktopを使用してAPIを操作する方法を解説します

 尚、APIそのものについてはこの記事では詳細には解説しませんので、もっと詳細を知りたい方は他のサイト等を参考にされてください

データの時間

ビジネス+IT

実際に記事の内容を動かしてみて、APIというものを実感して頂けたら幸いです

一番簡単なパターン/登録不要

通常、APIを利用する際にはAPIを利用するサイトで登録を行い、ID等を事前に取得する必要があります

今回は、登録が必要なしで使えるAPIで操作を行います

その代わり、取得するデータも1行だけになります

 Power Automate Desktopでは、JSON形式にてデータを取得し、さらにデータを成型してメッセージで表示します

実際のフローで使用するのは3つのアクションだけになります

使用するAPIは「zipcloud」の郵便番号検索APIになります

ポイント

データの取得

郵便番号検索APIのサイトで示してあるリクエストパラメーターの型式に従って、リクエスト文を指定の箇所に送り、データを取得します

データの変換

取得したデータはJSON形式になっており、人間の目では読みにくい内容になっています

こちらを郵便番号検索APIのサイトで示してあるレスポンスフィールドの階層に従い、人間の読める内容に変換します

リクエストURL及び指定項目

データの取得に使用するURLは以下のURLになります

https://zipcloud.ibsnet.co.jp/api/search

指定項目の中で必須は郵便番号/7桁のみです

試しに上の画像の(例)をそのままブラウザに入力してみます

https://zipcloud.ibsnet.co.jp/api/search?zipcode=7830060

*「search」と「zipcode」の間に「?」が入力されている点にご注目ください(検索対象の郵便番号を変える場合には最後の7桁を変更します)

すると、次のように表示されます

今回は上記の画像の「address1/高知県」と「address2/南国市」をメッセージで表示します

実際のフロー

APIを操作するフローは3つのアクションで構成されます

アクション1:Webサービスを呼出します

zipcloudのサイトに掲示されているリクエストURL(https://zipcloud.ibsnet.co.jp/api/search?zipcode=7830060)をそのまま使いデータを取得します

使用するアクションは「Webサービスを呼出します」になります

パラメーター:URLの箇所に上記のリクエストURLを入力します

このアクションを動かすと、サイトからJSON形式でデータを取得し、以下の変数にデータを格納します

 下の画像は変数:WebServiceResponseに実際にJSON形式のデータが格納されたところです

アクション2:JSONをカスタムオブジェクトに変換

難しそうなアクション名のアクションですが、要は人間の目では読みにくいJSON形式のデータを読みやすく変換します

上記の画像のようにパラメーター:JSONにはデータが格納されている変数:WebServiceResponseを指定します

このアクションで変換されたデータは変数:JsonAsCustomObjectに格納されます

ここでAPIの取得データ・詳細を確認します

以下の画像はzipcloudの「レスポンス」の画面です

データの階層が2段階に分かれていて、1階層目が「status」「message」「results」の3つなのが分かります

そして2階層目が「results」の下の階層の実際のデータ項目/address1等になっています

ですので、このアクションで変換したデータも同じ構造になっています

上記の画像 はこのアクションで変換した内容を格納した変数:JsonAsCustomObjectの内容です

resutlsの項目の詳細表示をクリックすると次の内容になります

今回取得するのは1行だけですので、1行だけになっています

更に詳細表示をクリックします

次のアクションで上記画像の「address1」と「address2」をメッセージで表示します

アクション3:メッセージを表示

前アクションにて、データをJSON形式から人間の目で見える形に変えて格納した変数:JsonAsCustomObjectから、項目別に抜き出してメッセージを表示します

上記の内容の振り返りになりますが、取得したデータは2階層になっています(一部省略)

・results >>(address1,address2・・・)

上記の階層に対応した形で取得データを「address1」と「address2」に分けて抜き出します

・address1 ➡ %JsonAsCustomObject.results[0].address1%

・address2 ➡ %JsonAsCustomObject.results[0].address2%

実際に上記の2つの内容をアクションに反映したのが次の画像です

以上です➡次回に続く

にほんブログ村 資格ブログ ビジネススキルへ

にほんブログ村

にほんブログ村 IT技術ブログ VBAへ

Power Automate Desktop でWEB操作を的確に行うための虎の巻

【RPAでの操作で一番問題となるのは、WEBサイトの操作だと思います。今回はセレクターの編集も含めて、WEB操作の裏技をいくつか紹介します】

 WEBサイトはRPAで操作する機会が多く、しかも「リンクをクリックできない」などの理屈では理解しがたい事も良く起こります

特にPower Automate Desktopの場合には、他のRPAと比べてWEB操作の細かな調整機能は充実しているとは言えません(2022年1月現在)

この記事ではWEBサイトをPower Automate Desktopで操作するための「便利技・裏技」を幾つか紹介していきたいと思います

実際のRPAの作成場面では、様々な技を組み合わせて色々と思考錯誤することになると思います

気を付けて頂きたいのは「完璧主義」に陥らない事です

RPAで100点を狙うのはかなり困難です

それなりのところで、それなりのケリをつけて次の行動に移っていきましょう

 アクション逆引き辞典

待ち処理

これはRPA処理全般の定番です

 RPAは事前に設定された通りに処理を進めていくため、WEBサイト側の操作を待ちきれず、処理の空振りを起こすことがよくあります

待ち処理を入れるアクションはフローコントロールの箇所にあります

待ち秒数は小数点単位でも指定できます

リンクのクリック⇒マウスでホバー+クリック操作

「確かにクリックしているはずなのに・・・」動かないことはよくあります

対処方法として下の画像のように、リンクのクリック処理を「操作対象(UI要素)にマウスを置く」のと同時に「左クリック」を行う操作に置き換えるとうまくいくことがあります

*注意:あくまでリンクのクリック処理がうまく行えるようになる可能性があるということです(必ずうまく行くとは限りません)

セレクタービルダーの編集

WEBサイトは裏ではHTMLコードにより作成されています

このHTMLコードの領域に踏み込んで、WEBサイト内のボタンやリンクを操作するのが今回の主旨です

話の中心になるのは、WEBサイト内のボタンやリンクの場所を表すUI要素の事になります

処理階層の変更

今回は下の画像の箇所をクリックするUI要素について解説します

上記のUI要素を指定すると、アクション内に次のように表示されます

一度設定したUI要素は、Power Automate Desktopの画面右側で編集することができます

上の画像のように画面右のマークをクリックすると、UI要素の編集画面が出てきます

まず下の画像の三点リーダーの箇所をクリックします

すると次の画面が出るので更に「編集」をクリックします

すると次のようなセレクタービルダー画面が開きます

こちらの画面で、画面左のチェックを変更してみます

上の画像の状態のままだとWEBサイト内の画像の箇所をホバーするイメージです

では、階層の一番下のチェックを外してみます

こうすると、上の画像の「<a>より右の文字列」をホバーします

こうしたセレクタービルダーの階層の変更により、より良くWEB操作をできることがあります

*注意:あくまでリンクのクリック処理がうまく行えるようになる可能性があるということです(必ずうまく行くとは限りません)

カスタム画面 vs ビジュアルエディター画面

セレクタービルダー画面には2種類あります

下の画像はカスタム画面です

上の画像の左下のボタンをオフにすると、ビジュアルエディター画面に変更できます

このビジュアルエディター画面では直接コードを編集することができます

繰返し処理への変数組込/数字指定

UI要素を変えながらクリックしていく場合に、セレクタービルダーに変数を組み込んで繰返し処理を行わせることができます

下のGIF画像では、繰返し処理により「速報」タブ⇒「ライブ」タブとクリックしていっています

上のGIF画像で動かしているフロー内では、UI要素の中に変数を次の画像のように組み入れてあります

上の画像の「%LoopIndex%」はLoop処理アクション内で設定してある変数です

Loopアクションの中で「LoopIndex」は0⇒1⇒2と数字を増やしていきます

同じ様にUI要素に組み込まれた「LoopIndex」も0⇒1⇒2と数字を増やしていきます

同時に指定するUI要素も変更されていくわけですが、この理屈をお話したいと思います

上の画像の「速報」「ライブ」「個人」のタブのUI要素を取得して、ビジュアルエディターの画面内のコードをメモ帳にコピーして並べます

そうすると、規則性が見えてきます

上の画像で言えば「eq()」の中に「数字が動く変数」を組み入れれば、「速報」「ライブ」「個人」のタブのUI要素のコードを表現できることが分かります

繰返し処理への変数組込/文字列指定

上の例でセレクタービルダーで数字が動く変数を組み入れました

文字列でも指定することができます

次の画像の黄色く印を付けた箇所で、それぞれUI要素を取得します

今回は、ビジュアルエディターではなくカスタム画面を開いてみます

すると、3つのUI要素の違いは上の画像の黄色の箇所(IDの箇所)であることが分かります

ですので、今回はIDの箇所に変数を組み入れます

上の画像の変数:myNameを繰返し処理の中で変更する方法ですが、様々な方法があると思います

今回はエクセルを使用した方法を紹介します

エクセルに3つのIDの共通・文字列/ap_以外を入力しておきます

そして、繰返し処理の中でエクセルの1列目([0])を読込、変数に設定します

実際に繰返し処理を動かした様子が下のGIF画像になります

UI要素の名前変更

取得済みのWEB要素を他のアクションで使い回したい時があります

取得したUI要素は一覧の中から選び易いように名前を変更できます

該当のUI要素の上で「F2」キーを押すと、名前を好きな名前に変更できるようになります

*右クリックでも変更できます

UI要素の変更への対応

UI要素は常に固定されているとは限りません

RPAを動かしていると、UI要素の変化に対応する必要な場合があります

下のGIF画像は、テキストを抽出してメッセージを表示するロボットですが、このテキストは常に変更されていくものとします

上のGIF画像で抽出されるテキストは「Excellent仕事術_2022」となっていますが、「仕事術」のテキストはUI要素が変更になった場合も固定で含まれていると仮定します

ビジュアルエディター画面ではこういった場合にそなえて「特定の文字を含む」指定が行えます

次の画像は、上のGIF画像にて「テキストを抽出する際に指定したUI要素」のビジュアルエディター画面です

こちらの黄色く印を付けた箇所を次の画像のように変えると常に「仕事術」のテキストを含むUI要素が扱えるようになります

指定の仕方としては次のようになります

タグの種類名:contains(‘固定テキスト’)

実際に上記の設定でRPAを動かしてみます

サイト内のテキストが「Excellent仕事術_2022⇒仕事術_20220115」のように変わっても正しくテキストを抽出します

この「含む」の指定を行う場合、準備としてサイトの中味のHTMLコードを確認し、タグの種類を取得する必要があります

上の画像でいえば、黄色く印をつけた「p」のことです

確認を行うには、まずはサイト内で必要な場所で右クリックをします

「検証」という文字が見えますのでこちらをクリックします

すると下の画像のような画面が開きます

こちらの画面でサイトの中味を確認することができます

ここで扱いたいテキストの前の<p>に注目してみてください

これがHTMLコードを書くときに必ず出てくる「タグ」というものです

詳細はここでは述べませんが、前述のようにこのタグの種類については事前確認が必要です

例えば、「Excellent仕事術_2022」が「見出し」としてサイト内に表示されているとします

するとタグの種類はpではなくh2になります

タグの種類がh2の場合には、セレクタービルダー内での指定も次の画像のように変わります

上のHTMLコードの内容をもっと深堀しておきたい方はぜひこのサイトから学習をはじめてみてください

このprogateは手を動かしながら学べるサイトになっていて、タグの役割なども分かり易く解説しています

画像認識の活用

画像の許容度を上げる方法

画像をクリックする方法はPower Automate Desktopではとても有効です

ただ画像をクリックする方法はとてもセンシティブです

見た目では分からないような、ちょっとした画像の映り方が変わっただけでもクリックできなくなることもあります

この場合には画像認識の許容度を上げることで対処することができます

マウスを画像に移動します」アクション内に詳細という項目があります

上の画像の左下に「詳細」の項目があります

こちらをクリックすると「許容値」を調整する箇所があります

通常、許容値は10で設定されています

例えば、次の2つの画像の上側の画像を許容値:10のままで設定してクリックできるようにしたとします

仮に同じ設定のまま下の画像をクリックすると認識できずにエラーになります

この場合、許容値を20に上げると画像認識が行えるようになります

*注意:ケースバイケースで活用をお願いします(逆に許容度を下げる方がベターなケースもあります)

画像認識+キー操作

RPAでWEBサイトを扱っていると、どうしてもクリックできないところというところも出てきます

この場合には「画像のクリック」を起点にし、矢印による移動やtabキーを組み合わせることで「思わぬ所」もクリックできるようになります

上のGIF画像では、まずは「インポート・エクスポート」の画像をクリックすることにより、通常は見えないメニューを表示した後、「矢印」で移動を行っています

にほんブログ村 資格ブログ ビジネススキルへ

にほんブログ村

にほんブログ村 IT技術ブログ VBAへ

POWER AUTOMATE DESKTOP逆引き辞典~テキスト処理~

Microsoft社の無料RPA・Power Automate Desktopのアクションの中から、テキスト処理のアクションを紹介します

  逆引き辞典に戻る

文字列の切り取り

アクション名:サブテキストの取得

エクセル関数で言えばLEFT関数、もしくは、MID関数と同じ働きをします

下のGIF画像ではダイアログボックスに入力された文字列を左から2文字切り取ります

パラメーターの選択/左から文字を切り取る場合

元のテキスト

切り取り対象になる文字列を設定します

開始インデックス

文字列の先頭から文字の切り取りを行う場合には「テキストの先頭」を指定します

長さ

「文字数」のままで設定

文字数

切り取る文字数の長さを設定します

パラメーターの選択/文字列の途中から文字を切り取る場合

元のテキスト

切り取り対象になる文字列を設定します

開始インデックス

文字列の途中から「指定文字の長さ」を切り取る場合には「文字の位置」を指定します

文字の位置

切り取りを開始する位置を指定します

*文字の位置を指定する場合には、カウントが0からはじまる点に注意してください

長さ

「文字数」のままで設定します

文字数

切り取る文字数を指定します

テキストの置換

アクション名:テキストを置換する

このアクションでは、「t➡T」などの文字列の置換を行います

例えば、下の画像では変数:UserInputに「test」が格納されているとしたら、このアクションにて「TesT」に変換を行っています

パラメーターの選択

解約するテキスト

操作対象のテキストを設定します

検索するテキスト

検索対象のテキストを設定します

(途中省略)

置き換え先のテキスト

検索対象のテキストを置き換える内容を設定します

空白のトリミング

アクション名:テキストのトリミング

このアクションでは、指定したテキストの先頭、もしくは末尾の空白文字を取り除きます

例えば、下の画像では、変数:UserInputに格納したテキスト「    TEXT TEXT」を「TEXT TEXT」に変換します

パラメーターの選択

トリミングするテキスト

対象テキストを設定します

トリミング対象

トリミングの対象は下の画像のように、3つのパターンから選択できます

日付・時間の表示形式の指定

アクション名:dateTimeをテキストに変換

例えば、下の画像のように現在の日時を取得したとします

このアクションでは「現在の日時」を好みに応じた型式に変更することができます

下の画像では、このアクションにより「1/17/2022 1:42:21 PM」をyyyyMM形式の「202201」に表示を変更しています

パラメーターの選択

変換するdatetime

変換する対象(変数など)を設定します

使用する型式

「標準」と「カスタム」から選択できます

標準形式orカスタム型式

標準形式の場合は、下の画像のような形式の中から選択して設定できます

カスタム型式の場合は自身で「yyyyMM」などの型式を入力して設定します

にほんブログ村 資格ブログ ビジネススキルへ

にほんブログ村

にほんブログ村 IT技術ブログ VBAへ

Power Automate Desktop逆引き辞典~フォルダ関連~

Microsoft社の無料RPA・Power Automate Desktopのアクションの中から、フォルダ関連のアクションを紹介します 

逆引き辞典に戻る

新たなフォルダの作成

アクション名称:フォルダーの作成

パラメーターの選択

新しいフォルダーを次の場所に作成

作成するフォルダの場所を設定します

新しいフォルダー名

作成するフォルダ名を設定します

フォルダ内の全てのファイル名を取得

アクション名称:フォルダー内のファイルを取得

パラメーターの選択

フォルダー

ファイル名を取得するフォルダを設定します

ファイルフィルター

*を活用して取得するファイルを絞り込むことができます

*例:*.xlsxとすればエクセルファイルだけを取得できます

サブフォルダーを含める

サブフォルダにあるファイルも取得します

詳細

取得するファイルの優先順位(順番)を設定します

特定フォルダーが存在する場合の条件分岐処理

アクション名:フォルダーが存在する場合

このアクションでは、特定のフォルダが存在する場合には条件分岐処理を行います

下のGIF画像では、アクション内で指定したフォルダーが実際に存在する場合にはメッセージを表示しています

パラメーターの選択

このアクションを選択した場合には「End」アクションとセットになります

Endとの間に、特定フォルダーが存在する場合の処理を指定します

フォルダーが次の場合

存在する場合としない場合を選択して設定できます

フォルダーパス

特定フォルダを指定します

フォルダーの中味の移動

アクション名:フォルダーの移動

次の画像のようなフォルダーがあったとします

このアクションでは、この移動元のフォルダを「丸ごと」移動先に指定したフォルダの直下に移動させることができます

パラメーターの選択

移動するフォルダー

移動元のフォルダーを設定します

宛先フォルダー

移動先のフォルダーを設定します

サブフォルダーのフォルダ名取得

アクション名:フォルダー内のサブフォルダーを取得

パラメーターの選択

フォルダー

サブフォルダー名を取得するフォルダーを設定します

フォルダーフィルター

アスタリスク等を使用して取得するサブフォルダー名にフィルターをかけます

サブフォルダーを含める

更にサブフォルダーの下の階層にサブフォルダーがあればフォルダ名を取得できるようにします

詳細

フォルダ名を取得する並びを指定できます

フォルダー内の中味削除

アクション名:フォルダーを空にする

パラメーターの選択

空にするフォルダー

中味を削除するフォルダーを設定します

にほんブログ村 資格ブログ ビジネススキルへ

にほんブログ村

にほんブログ村 IT技術ブログ VBAへ

Power Automate Desktop入門~PADの凄さ/ノーコード~

 今回はPower Automate Desktop(PAD)の凄さを、<有名なRPAの「Uipath」との比較>を絡めながら、一部紹介したいと思います

皆さんはRPAというとどんな事をイメージされますでしょうか?

 世の中には「どうして毎回毎回こんなことしなくてはいけないんだろう?でも・・・どうしても必要なんだよね・・・」という業務が存在します

 そんな「必要だけど低付加価値の業務」を、プログラミング未経験者でも削減できるということで登場したのがRPAです

RPAはノーコードなので、プログラミング未経験者でもRPAを動かすシナリオを作成できるというふれこみなのですが、実際にはプログラミングの知識がある程度は必要です

ところが、

PADの場合は本当の意味でノーコードになっています

今回の記事ではPADが「なぜノーコードなのか?」について、実際の事例で解説させて頂きます

インストール&ログイン

サイトにアクセス

 まずは、インストーラーをダウンロードする必要がありますので、下記のURLからMicrosoft社のサイトにアクセスしてください(あくまで2021年12月19日の時点の情報です)

https://docs.microsoft.com/ja-jp/power-automate/desktop-flows/install

上のリンクにアクセスすると下記のような画面が開きます

上の画像の黄色の印の箇所をクリックしてインストーラーをダウンロードします

インストールの実際

以降はYOUTUBE動画をご参照ください

https://youtu.be/oafOxALXYwU

新しいフロー作成(シナリオ作成)

PADにログインしたら、画面左上の「+新しいフロー」をクリックしましょう

次に開いた画面で「フロー名」を入力します

フロー名を入力したら、画面右下の「作成」をクリックします

するとシナリオ作成用の別画面を開けるようになります

シナリオ作成画面

シナリオ作成画面の概要

シナリオ作成画面は3つの構成になっています

画面左➡アクション

画面左にシナリオを構成するアクションが並んでいます

こちらから、シナリオに必要なアクションを画面真ん中にドラッグ・アンド・ドロップします

今回は「入力ダイアログを表示」と「メッセージを表示」を画面真ん中にドラッグ・アンド・ドロップします

画面真ん中➡シナリオ

画面の真ん中にアクションを配置してシナリオを描いていきます

画面右➡変数

こちらは後で詳細を後述します

こちらの変数が今回の記事の大きなポイントです

シナリオ作成

今回はアクション2つをつなげて、アクション1「入力ダイアログを表示」で入力したメッセージを、アクション2/「メッセージを表示」で表示します

下は既に完成しているシナリオです

2つのアクションに「UserInput」という内容がありますが、こちらが前述の変数です

試しにシナリオを実際に動かしてみます

入力ダイアログボックスに「TEST」と入力した後に、メッセージボックスにて「TEST」と表示されます

では、画面右の変数がどうなっているか見て見ましょう

UserInputの右側に「TEST」という文字が表示されています

これは変数:UserInputに「TEST」という文字列が格納されているという意味になります

つまり、2つのアクションにて使われている変数:UserInputを通じて「TEST」という文字列がやりとりされていることが分かります

*ButtomPress~の横にOKが表示されていますが、アクションのボタンが押されたという意味合いになります

これは他の言葉でいい変えると、2つのアクション間(入力・表示)で手紙がやり取りされているようなものです

そして、この手紙の中味である変数は名前の通り、内容を変えることができます

では、もう一度シナリオを動かしてみます

今度は入力ダイアログボックスに「テスト」と入力してみます

すると、変数:UserInputには「テスト」が入力されています

変数の設定

では、上記のシナリオ内では変数はどのように設定されたのでしょうか?

変数の設定についてみてみましょう!

下の画像は、1つ目のアクションの「入力ダイアログを表示」をクリックして中味を開いた時の画像です

このアクションでは変数が自動的に作成されています

この変数が自動的に設定されるところが、このPADの凄さです

では、2つ目のアクションをみてみましょう

表示するメッセージの欄に「%UserInput%」と入力されています

何故「%」にてUserInputが囲まれているかというと、文字列のUserInputと区別するためです

%を入力するのは面倒だと感じた方もいらっしゃるかと思いますが、こちらは既に作成してある変数が選択できるようになっています

{x}をクリックすると既に作成されている変数が表示され、変数の選択が行えるようになります

この「変数の自動作成」から、「変数の一覧表示・選択」する仕組みが、PADが画期的な点なのです

この仕組みならば、変数に関わる作業が省力化されているだけでなく、本来はプログラミングの肝の一つであり、未経験者が躓きやすい「変数」の概念が理解し易いのです

これが私が言う「ノーコード」という意味です

別のRPAのUipathにて同じシナリオを作成する場合には、変数を設定しなくてはなりません

ですので、他のRPAでは「変数とは何か?どういう役割なのか?」を理解するところから始めなくてはなりません

PADでは変数に関わる作業が省力化されているだけでなく、変数の概念も理解できるので、まさに一石二鳥なのです

<まとめ>

RPAは慣れると、自転車を乗るようにシナリオを作成できるようになります

RPAに慣れるまでに障壁が何個かあるわけですが、まず最初に躓きやすいのが「変数」の箇所だと思います

もし、これからプログラミングを学ぼうと考えている方は、PADから始めるのもいい手かもしれませんね!


にほんブログ村