日記も大分たまってきましたので、目次を作りました。

01 RPA体験談【導入編:RPAとは】

RPAの特徴について
1.「人間がやる手順にならって処理してくれる事務ロボット程度」
2.Webサイトと親和性が高い。
3.AIと違って判断はしてくれない。
例えば、「待て」の指示が必要

02 RPA体験談【導入編:Uipathについて】

エンジニア作成型・ユーザ作成型
ユーザ作成型(ノンコーディング)のWinActorとUiPathの違い
Robotの目について(UI要素と画像認識)

 

03 RPA体験談【導入編:Uipathのselectorについて】

Uipathのselectorの概念について
目の役割
selectorの理解がUiPath攻略の第1歩

 

04 RPA体験談【導入編:Uipathアカデミーでの自宅学習について】

UiPathアカデミーは結構大変
自宅でインストールできるので、自学自習できる。
Mainの真下には、FlowChartについてを置くこと。
真下にsequence(シーケンス)を置くのはオススメできない。

 

05 RPA体験談【導入編:Uipathのファイル構成について】

UiPathのファイル構成
フォルダ名=プロジェクト名
xamlファイルとjsonファイル
.screenshotsフォルダ

 

06 RPA体験談【導入編:UiPathの自動記録について】

「自動記録」がやっぱり便利。
慣れてきても「Ui要素」をキャッチ出来ないときにも使う。
自動記録の機能はしっかり覚えて臨むと良い。

 

07 RPA体験談【導入編:UiPathのAnnotation(注釈)】

右クリックしてAnnotation/AddAnnotation(日本語版だと、注釈/注釈の追加)は超便利
ツール全体の簡単な仕様とか
Invoke(他のxamlシナリオの引用)の時の引数とか
今後のエラー回避についての作成予定の手順とか 色々使える

08 RPA体験談【導入編:UiPathとOfficeソフトの組み合わせ】

MicrosoftのOfficeの相性は、必ずしも良くない。
Excelファイルを開いてデータベースを読み込む・書き込む・特定のセルに書き込むといった動作は簡単だが、それ以外は「Ui要素」を捉えられない事が多い。例えばExcelマクロを割り当てたボタンや、Accessのフォーム上のボタンなども。
その場合は、ショートカット「Send Hot Key」を駆使する。マクロ(VBA)で出来ることは、UiPathよりVBAの方が可用性が高い。

09 RPA体験談【導入編:UI ExplorerでUi要素を確実に掴む】

Ui要素「Selector」をつかむ最終兵器は「UI Explorer」。
Selectorを、上手くキャッチできないときは、これを立ち上げて、
選択・調整・検証してSelectorに貼り付ければ良い。

 

10 RPA体験談【導入編:UiPathの変数】

変数の型についての説明。String・Boolean・DataTable・GenericValue型等。
Debugで確かめる時などは、WriteLineやMessgeBoxなどを使うが、String型しか表示できないので、.ToStringで変換する。

 

11 RPA体験談【事例編:UiPathのデータスクレイピング】

[事例編]
600名の状況確認のニーズが発生。いままでなら、全員に確認か、システム開発だったがRPA登場。
30分で開発終了。RPAの実力を実感。
最終的には3000名分に範囲を広げてチェックし、廻りもRPAの威力を実感。

12 RPA体験談【導入編:UiPathのNullの扱い】

Nullの対応
Ifを使って、String.IsNullOrEmpty(変数) or String.IsNullOrWhiteSpace(変数)で対応。
それ以外では、読み込み前のExcel側で文字列に予め変換しておいてしまうなども便利。

 

13 RPA体験談【実践編:Input dialog(入力ダイアログ)の選択肢にExcelの一覧を使う】

操作者とのインターフェイスは「Input dialogアクティビティ」。入力項目(ユーザIDやパスワード)にも使うが、配列のString型の変数設定で、メニュー選択フォームのように使うこともできる。
選択肢が流動的(都度変わる)な場合は、変数をDataRow型に読み込んで処理できる。例えばExcel上に1行でデータを作って読み込むなど。

14 RPA体験談【実践編:Invokeを使って他のプロジェクト(フォルダ)のxamlのアクティビティを利用する 】

開発をしている最中に他のプロジェクト(フォルダ)のxamlの一部を利用したいときは、裏技的に「InvokeWorkFlow(ワークフローファイルを呼び出し)」を使う。
OpenWorkFlow(ワークフローを開く)で、他のxamlファイルを呼びだせば良い。

 

15 RPA体験談【実践編:DataTableから必要分を抽出する 該当が無い時Nullのエラー回避】

.Selectと.copytodatatableでFilterのようにファイルを抽出できる。
ただし、データが存在しないとエラーになるので、
.Countで0のときの処理を書き込んでおく必要がある。

 

16 RPA体験談【実践編:Invoke Workflow File(ワークフローファイル呼び出し)の引数の使い方 】

Invoke Workflow Fileの引数(Argument)の使い方について
Invokeされる(呼び出される)側のxamlファイルのArgumentの設定方法と、
Invoke Workflow Fileアクティビティ上のInとOutの設定方法。

 

17 RPA体験談【実践編:UiPathのDataScraping データスクレイピング 上手く出来ないとき 】

0.一番簡単なスクレイピング
表全体からのデータ抽出では上手くいかないケースの見本と解決方法
1.ヘッダー行がセル結合しているとき
2.表以外に取り込みたいデータがあるとき
3.一つの表に見えて左右に2分割されているとき

18 RPA体験談【実践編:UiPathのデータテーブルの出力 WriteCSVと WriteRange】

データの出力に主に使うWrite Range(範囲に書き込む)とWrite CSV(CSV に書き込む)
WriteRangeは2通りあり、少し違う。私は「ただの」(と名付けた方の)WriteRangeを現在愛用中。
出力ファイルには、RPA_TEST20190715_0632.xlsx の様に、ファイル名の頭に「RPA」をつけ、最後に日付と時刻をつけるとわかりやすく、重複が無い。

 

19 RPA体験談【実践編:UiPathのGet Attribute(属性を取得)行番号や名前を取得する】

aanameで対象のelement要素を探し、行番号をGet取得する。
Clickアクティビティで、Getした行番号をクリックする。
“aaname”=elementの名前
“tableRow”=行番号

 

20 RPA体験談【事例編:作ってきたRPAともう一つの効果】

どんなRPAを作ってきたか?
Web絡みがほとんど。ExcelやAccesstとの連携はショートカット(SendHotKey)で対応
RPAの効果は時間短縮だけじゃない
脳にムダな汗をかかせない。RPAの効果として時間の節約以外に結構これが大きい。

 

21 RPA体験談【実践編:UiPathのFind Children(子要素を探す)を使って範囲内の全てを処理する】

Find Children(子要素を探す)で範囲を指定して、For Eachで範囲内の処理をする。
(処理:GetAttribute(表示名や行番号・列番号を取得)や クリックなど)
SelectorでURLも含めた範囲全体を指定して、Filterで項目を絞り込む
ScopeでFIND_CHILDREN(子供) もしくは FIND_DESCENDANTS(子孫)を指定する。
For Eachで TypeArgumentを UiPath.Core.UiElementにして、1個ずつ処理していく。


22 RPA体験談【実践編:UiPathのUiExplorerでUi要素の詳細を調べる】

Ui Explorerの活用方法
HighLightを使い、左のツリー構造をクリックしてターゲットのSelectorを見つける。
FIND_CHILDREN(子供) もしくは FIND_DESCENDANTS(子孫)の見分け方など。

 

23 RPA体験談【事例編:RPA(UiPath)で大幅な効率化を実現】

効率化という観点では、自部署だけでは無く、社内全体の業務を対象にできると、パフォーマンスは最大化できる。
事例紹介
効果:社員全体の効率化を実現(15,000時間/年の削減)
時間短縮として、アクティビティの待ち時間の数値を減らす、別の方法を考える、ロボットの複製を作るなどで対応。