UiPathについて備忘録をつらつらと。。。
痛い目に会うたところとか気になったところ挙げていきます
メールフォルダーのチェックとフィルター
対象フォルダの書き方は上の通り。
StudioXの[ForEachEmailX]アクティビティは、[UseOutlook365]内にセット。
UiPath:ForEachEmailXのweb取説
UiPath:Forumの記事
rowの型
繰り返し(各行)で使うrowの型です。
DataRow型
です。
数字チェックの方法
IsNumeric関数を使います。
しかし、コツがいります。
名前空間なしではエラーが出ます。
IsNumeric(件数境界値前半)
以下のように名前空間ありでOK
Microsoft.VisualBasic.Information.IsNumeric(件数境界値前半)
データテーブルから特定の列を抽出
stringのリストに抽出する場合は以下。。。
listString = dt.AsEnumerable.Select(function(r) r("columnnName").toString()).ToList()
ただし、これを記述すると以下のようなエラーが出てきます。
このエラーが出た時は、以下を見て解決してください。
UiPath:Forumの記事。エラー発生時の解決方法
Main.xamlをメモ帳で開いて、黄色のハイライトを追加する必要があります。
2次元配列
数字検査
IsNumericを名前空間付きで記述してみる。
Microsoft.VisualBasic.Information.IsNumeric(〇〇〇)だといけた
IsNumeric(〇〇〇)だとダメやった
データテーブルのピンポイントアクセス
言語によって違いがあって忘れるのでUiPath(vb.net)用にメモっときます
2行目の1列目(0スタートなので列番号は0)をとるときは
row(0) = row(“col1”) = row.item(0) = row.item(“col1”)
= dtA.rows(1)(0) = dtA.rows(1)(“col1”) = dtA.rows(1).item(0) = dtA.rows(1).item(“col1”)
FTP用のactivityのインストール注意点
FTP用のライブラリーがUiPathさんから用意されています。
UiPath.FTP.Activitiesです。
こいつを[パッケージを管理]画面でインストールするには事前に以下のチェックボックスにチェックを入れてから
インストールしてください。
チェックボックスにチェックを入れずにインストールすると、エラーが出まくって動きませんでした。
うまくインストールできないみたいです。
ファイル分析が出来ないときの確認
Studioでファイル分析をして以下のエラーが出て、実行できない場合があります。
こんなときは、実行フォルダーパスを確認してください。(プロジェクトのあるフォルダーパスね。)
UiPath指定のフォルダーは以下です。(ドキュメントの下のUiPathが推奨のフォルダーらしい。)
以下でない場合は、以下に持ってきてファイル分析しなおしてみてください。
ひょっとしたら、うまくいくかも。。。(わたしはうまくいきました。)
htmlのセレクターデモ
nu関連
NuGet・・・ヌゲット
https://www.atmarkit.co.jp/fdotnet/chushin/nuget_02/nuget_02_02.html
プロダクトライフサイクル
Automation hub
parallelアクティビティの記事
ブラウザの機能
studioで使えるstudio-xのアクティビティ
・繰り返し各メール・・・フィルター機能が便利。取ってくるメールのフィルターみたい。
・フォルダ内の各ファイル
ファイルパスを全部取ってきて、処理するみたい。今まではvb.netのコマンド
やかんたんベーシックアクティビティ
を
使う必要がある。
・excelファイルをPDFとして保存
・excelシート系の操作・・・シートを操作、シートを削除、シートを挿入、シート名を変更
気になるアクティビティ
・JSを挿入
・バックグラウンドプロセス
https://docs.uipath.com/lang-ja/robot/docs/background-process-automation
・UiPath Form アクティビティ
・ピボットを更新 アクティビティ
・ダウンロードを待つ アクティビティ
エラーハンドリング記事
Terminate WorkflowアクティビティとThrowの違い
UiPath:Forumの記事
UiPath:Forumの記事2
バージョン管理について
メジャーバージョンとか、マイナーバージョンとかそのたぐい。
詳細はここ
https://docs.uipath.com/studio/lang-ja/v2020.10/docs/about-automation-projects
https://qiita.com/Matsuo_yoshi/items/b62b98ae2adfa8a18b28
ロボットのパブリッシュ
作ったロボット(プロセス)は、バージョンを付けてパブリッシュ
します。
パブリッシュすると開発環境(UiPath Studio)の外(UiPath Assistant)でロボットを動かせます。
運用時はパブリッシュしたプロセスを実行
するわけです。
で。。。
UiPath Studioのデザイン画面に下のボタンが出てきます。
パブリッシュ押下で以下
新しいバージョン
のところは、自由に書き換えられます。
新しいバージョン
は、上の**「バージョン管理について」を参考にしてください**。
リリースノート
のところは、詳しく書いた方が後から助かると思います。
パブリッシュしたら下のUiPath Assistantに自動で出てきます。
運用時はこれを使います。
ちなみにこのUiPath Assistantは、v2020.4.3です。バージョン違ったら見た目変わるかも。。。
ボカシのところはプロセス名です。
ここにマウスオン
したらプロセスのバージョンがポップアップ
されるので確認できます。
GenericValue型の使いどころ
UiPathに独特の型GenericValue
があります。
GenericValue型は何でもありの型なので、積極的に使うのは避けたほうがいいです。
僕も特定の型を明示的に宣言しているので、GenericValue
は気持ち悪くて一部を除いて、まったく使ってません。
そしたら、**いつ使うねん。。。なんでこんな型あんねん。。。**っていう話です。
ここから事例です
以下のようにexcelファイルの「セルを読み込み」します。
読み込んだセルはA1です。
excelファイルの中身はこんな感じ。。。
この例ではA1は1です。つまり型はint
です。
でも、読み込むデータの型をstring
と期待して実装すると。。。
以下のようなエラーが出ちゃいます!!
でも、以下のようにGenericValue
でいったん受け取っときゃあ、エラーは回避できる!!
GenericValue
を使うと以下のように「1」が読み込めました。
何が言いたいかというと。。。
excelで読み込むデータは、string
で入ってくる時もありゃあ、int
で入ってくる時もあって、型が一定している保証はない!!ってことです。
で、そういうデータは社内の基幹システムやその他もろもろのシステムから出力されることがたまにあって、私しゃ結構痛い目にあってます。
(上のexcelファイルを見てください。B列は1行目と8行目はstring
ですが、2行目~7行目はint
で混在)
型が一定している保証がないところはGenericValue型
の変数で受けて、
上のようにstrセルを読込 = セルを読込.Tostring()
で文字列にして、そこから数値変換なんなりにして正しい型属性の変数にすると幸せになれるかも。。。
GenericValueの詳細は、[UiPathコーディング規約Ver1.1.0]P14 5.2.変数の型について
を見ちゃってください。
[UiPathコーディング規約]の最新版はここ:UiPathコーディング規約とワークフロー品質評価キット
UI上の入力方法
この表をしょっちゅう見たくなるんで貼り付け
この説明では、まったく理解できた感がないなぁ。。。
こんなんもあった。
こんなんもあった。
こんなんも。。。
こんなんも。。。
オンライン取説:UI要素について
オンライン取説:入力メソッド
オンライン取説:入力メソッドの使用例
UiPath:プロセス爆速化のためのTIPS
UiPath:UI操作自動化
UiPath:クリックアクティビティ徹底解説・・・これおもろかった!
これあんまり関係ないかも。。。
UiPath:シングルクリックとダブルクリック
##「準備完了まで待機」プロパティについて
ここ見て
UiPath:クリックアクティビティ徹底解説・・・中ほどにあります
「リトライスコープの注意点」
UiPath取説:リトライスコープ
上の絵から分かる通り、Retry Scopeがリトライを実行する条件は2つです。
- Action(処理)をすべて実行したあとに、Condition(条件)に指定したアクティビティが False を返すか、または失敗する(例外を発生させる)とき
- Action(処理)を実行しているときに、キャッチされていない例外が発生したとき・・・条件セクションは無理に入れなくてもリトライ可。
RetryScopeの条件セクションに使えるのは現時点で下記7つかと。。。
- 要素の有無を検出
- 画像の有無を検出
- テキストの有無を確認
- OCRでテキストの有無を確認
- コレクション内での有無
- Is true(WorkFlow Manager Activitiesパッケージで追加)
- Is false(WorkFlow Manager Activitiesパッケージで追加)
RetryScopeのアクションセクション内で例外スローする方法は以下のアクティビティが有効です。
UiPath:Check True
UiPath:Check False
web:参考
Outlook365のセッティング:UiPathでOutlook365を使ってメール送信する方法
まず下のようにStudioXのアクティビティを見えるようにします。
使うアクティビティは以下の2つです。
まずは[Use Outlook 365]アクティビティから設定します。
[Use Outlook 365]アクティビティをドラッグ&ドロップ。
このアクティビティでOutlook365にサインイン出来るようにします。
下の画面が出てくるので、[アプリケーションID]に次の文字列f2f43f65-16a6-4319-91b6-d2a342a88744
を入力し、[OK] をクリックする。
アプリケーションIDの詳細はこちら
下の画面が出てくるので、会社のメルアドを入力して、[次へ]をクリックする。
下の画面が出てくるので、パスワードを入力して[サインイン]する。(メールサーバへのパスワードです。自分のPCにログインするときのパスワードと違うかも。。。)
下の画面が出てくるので、[承諾]する。これで[Use Outlook 365]アクティビティへの設定終わりです。
設定後に[Use Outlook 365]アクティビティをstudioからドラッグ&ドロップすると、[メルアド]・[パスワード]・[Exchange]が登録済みなので
これまでの設定は1回だけみたい。。。studioに登録されるみたいです。。。
赤丸の部分が登録済みで、変更も出来ないところを見るとやはりstudioに登録されたみたい。。。
UiPath web取説:Outlook365を使用
UiPath web取説:Outlook メールを送信
UiPath web取説:チュートリアル: CSV から Excel へのコピーと、ファイルのメール送信