4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

UiPathについて備忘録をつらつらと。。。
痛い目に会うたところとか気になったところ挙げていきます

メールフォルダーのチェックとフィルター

test.png
対象フォルダの書き方は上の通り。
StudioXの[ForEachEmailX]アクティビティは、[UseOutlook365]内にセット。
UiPath:ForEachEmailXのweb取説
UiPath:Forumの記事

rowの型

image.png
繰り返し(各行)で使うrowの型です。
DataRow型です。
image.png

数字チェックの方法

IsNumeric関数を使います。
しかし、コツがいります。
名前空間なしではエラーが出ます。
image.png
IsNumeric(件数境界値前半)

以下のように名前空間ありでOK
Microsoft.VisualBasic.Information.IsNumeric(件数境界値前半)

データテーブルから特定の列を抽出

stringのリストに抽出する場合は以下。。。
listString = dt.AsEnumerable.Select(function(r) r("columnnName").toString()).ToList()

ただし、これを記述すると以下のようなエラーが出てきます。
image.png
image.png
このエラーが出た時は、以下を見て解決してください。
UiPath:Forumの記事。エラー発生時の解決方法
Main.xamlをメモ帳で開いて、黄色のハイライトを追加する必要があります。
image.png

2次元配列

簡単そうだけど初期化で悩んだ
image.png
image.png
image.png

数字検査

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です。
image.png
こいつを[パッケージを管理]画面でインストールするには事前に以下のチェックボックスにチェックを入れてから
インストールしてください。
こつ.jpg
チェックボックスにチェックを入れずにインストールすると、エラーが出まくって動きませんでした。
うまくインストールできないみたいです。

ファイル分析が出来ないときの確認

Studioでファイル分析をして以下のエラーが出て、実行できない場合があります。
image.png
こんなときは、実行フォルダーパスを確認してください。(プロジェクトのあるフォルダーパスね。)
UiPath指定のフォルダーは以下です。(ドキュメントの下のUiPathが推奨のフォルダーらしい。)
以下でない場合は、以下に持ってきてファイル分析しなおしてみてください。
image.png
ひょっとしたら、うまくいくかも。。。(わたしはうまくいきました。)

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のデザイン画面に下のボタンが出てきます。
パブリッシュ.png
パブリッシュ押下で以下
プロセスをパブリッシュ.png
新しいバージョンのところは、自由に書き換えられます。
新しいバージョンは、上の**「バージョン管理について」を参考にしてください**。
リリースノートのところは、詳しく書いた方が後から助かると思います。

パブリッシュしたら下のUiPath Assistantに自動で出てきます。
運用時はこれを使います。
ちなみにこのUiPath Assistantは、v2020.4.3です。バージョン違ったら見た目変わるかも。。。
アシスタント.png
ボカシのところはプロセス名です。
ここにマウスオンしたらプロセスのバージョンがポップアップされるので確認できます。

GenericValue型の使いどころ

UiPathに独特の型GenericValueがあります。
GenericValue型は何でもありの型なので、積極的に使うのは避けたほうがいいです。
僕も特定の型を明示的に宣言しているので、GenericValueは気持ち悪くて一部を除いて、まったく使ってません
そしたら、**いつ使うねん。。。なんでこんな型あんねん。。。**っていう話です。

ここから事例です
以下のようにexcelファイルの「セルを読み込み」します。
読み込んだセルはA1です。
型のテスト1.png
excelファイルの中身はこんな感じ。。。
型のテスト2.png
この例ではA1は1です。つまり型はintです。
でも、読み込むデータの型をstringと期待して実装すると。。。
型のテスト3.png
以下のようなエラーが出ちゃいます!!
型のテスト4.png
でも、以下のようにGenericValueでいったん受け取っときゃあ、エラーは回避できる!!
型のテスト5.png
GenericValueを使うと以下のように「1」が読み込めました。
型のテスト6.png
何が言いたいかというと。。。
excelで読み込むデータは、stringで入ってくる時もありゃあ、intで入ってくる時もあって、型が一定している保証はない!!ってことです。
で、そういうデータは社内の基幹システムやその他もろもろのシステムから出力されることがたまにあって、私しゃ結構痛い目にあってます。
(上のexcelファイルを見てください。B列は1行目と8行目はstringですが、2行目~7行目はintで混在)
型のテスト7.png
型が一定している保証がないところはGenericValue型の変数で受けて、
上のようにstrセルを読込 = セルを読込.Tostring()で文字列
にして、そこから数値変換なんなりにして正しい型属性の変数にすると幸せになれるかも。。。

GenericValueの詳細は、[UiPathコーディング規約Ver1.1.0]P14 5.2.変数の型についてを見ちゃってください。
[UiPathコーディング規約]の最新版はここ:UiPathコーディング規約とワークフロー品質評価キット

UI上の入力方法

この表をしょっちゅう見たくなるんで貼り付け
入力1.png
この説明では、まったく理解できた感がないなぁ。。。
入力2.png
こんなんもあった。
入力3.png
こんなんもあった。
image.png
こんなんも。。。
入力4.png
こんなんも。。。
入力5.png

オンライン取説:UI要素について
オンライン取説:入力メソッド
オンライン取説:入力メソッドの使用例
UiPath:プロセス爆速化のためのTIPS
UiPath:UI操作自動化
UiPath:クリックアクティビティ徹底解説・・・これおもろかった!

これあんまり関係ないかも。。。
UiPath:シングルクリックとダブルクリック

##「準備完了まで待機」プロパティについて

ここ見て
UiPath:クリックアクティビティ徹底解説・・・中ほどにあります

「リトライスコープの注意点」

UiPath取説:リトライスコープ
image.png

上の絵から分かる通り、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のアクティビティを見えるようにします。
image.png
使うアクティビティは以下の2つです。
まずは[Use Outlook 365]アクティビティから設定します。
image.png
[Use Outlook 365]アクティビティをドラッグ&ドロップ。
このアクティビティでOutlook365にサインイン出来るようにします。
image.png
下の画面が出てくるので、[アプリケーションID]に次の文字列f2f43f65-16a6-4319-91b6-d2a342a88744 を入力し、[OK] をクリックする。
image.png
アプリケーションIDの詳細はこちら
下の画面が出てくるので、会社のメルアドを入力して、[次へ]をクリックする。
test1.png
下の画面が出てくるので、パスワードを入力して[サインイン]する。(メールサーバへのパスワードです。自分のPCにログインするときのパスワードと違うかも。。。)
test2.png
下の画面が出てくるので、[承諾]する。これで[Use Outlook 365]アクティビティへの設定終わりです。
test3.png
設定後に[Use Outlook 365]アクティビティをstudioからドラッグ&ドロップすると、[メルアド]・[パスワード]・[Exchange]が登録済みなので
これまでの設定は1回だけみたい。。。studioに登録されるみたいです。。。
image.png
test4.PNG
赤丸の部分が登録済みで、変更も出来ないところを見るとやはりstudioに登録されたみたい。。。
test5.PNG

UiPath web取説:Outlook365を使用
UiPath web取説:Outlook メールを送信
UiPath web取説:チュートリアル: CSV から Excel へのコピーと、ファイルのメール送信

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?