5
1

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 3 years have passed since last update.

UiPathの個人的備忘録2

Posted at

過去の個人的備忘録は↓コチラに。(※見なくても特に支障はないです。)
https://qiita.com/narinari75/items/3a8c9861c5d02cb01b8a

#1.Messageboxを吹き出し形にする
「Callout」という、任意の場所に吹き出し型のMessageBoxを出現させるアクティビティがある。
さらにタイマー機能も搭載されており、「○秒後に自動で閉じる」という設定も可能。
ui1.JPG

#2.OpenApplicationで一気飛び
例えばエクスプローラーを起動させる時、「OpenApplication」のプロパティ内の「Arguments」に、フォルダパスを入力して実行すると、最初からそのパスに居る状態でエクスプローラーが開く。
ui2.JPG
また、Argumentsにファイルパスを入力すれば実行時に開くため、ワードやパワポ等を開きたい時にも使える。

#3.StrConv構文による文字の変換
StrConv構文は、文字をひらがな・カタカナ・半角・全角などに変換する事ができる。

●全角文字→半角文字
【StrConv(全角文字, Microsoft.VisualBasic.VbStrConv.Narrow,&H411)】

●半角文字→全角文字
【StrConv(半角文字, Microsoft.VisualBasic.VbStrConv.Wide,&H411)】

●カタカナ→ひらがな
【StrConv(全角カナ, Microsoft.VisualBasic.VbStrConv.Hiragana,&H411)】

●各単語の先頭文字を大文字に変換
【StrConv(英文字, Microsoft.VisualBasic.VbStrConv.ProperCase,&H411)】

●小文字→大文字
【StrConv(小文字, Microsoft.VisualBasic.VbStrConv.Uppercase,&H411)】

#4.任意の桁数に変換
桁数変換の構文は、
【文字型.PadLeft(設定する文字数,"左詰めで書きたい一文字"c)】

例えば「1→0001」に変換させたい場合は
【"1".PadLeft(4,"0"c)】(※「c」は決まり文句のようなもので、これを記載しないとエラーになる)

また、桁区切りのカンマを含めた文字列にする場合は
【数値型.ToString("#,###”)】
 例:1234567.ToString(“#,###”) → 1,234,567

#5.Split構文で文字を配列にする
Split構文を使うと、1つの文字列型を配列型に変換することができる。

例えば「千葉・滋賀・佐賀」という文字を「・」で区切りたい場合は
【”千葉・滋賀・佐賀”.Split(“・”c)】 → {“千葉”,”滋賀”,”佐賀”}
index指定による要素取得も可能。
【”千葉・滋賀・佐賀”.Split(“・”c)(0)】 → “千葉”

また、メモ帳を読み込んだ後等で、改行ごとに文字を分けたい場合は
【変数.Split({vbcrlf,environment.NewLine},StringSplitOptions.none)】

さらに、区切り文字を複数指定する事も可能。
例えば「①A②B③C」という文字を、「②」と「③」で区切りたい場合は
【”①A②B③C”.Split({“②”,“③"},StringSplitOptions.none)】 → {"①A ", “B", “C”}

#6.日付と関連する構文
・Datetime.Parse(“文字列”)
 →文字列をDatetime型に変換することができる。

・IsDate(“文字列”)
 →True(=その文字は日付型に変換可能)
 →False(=その文字は日付型に変換不可)

・Date.Parse(和暦, New System.Globalization.CultureInfo("ja-JP"))
 →和暦を西暦に変換することができる。

・Math.Abs(CType(DateDiff("d",日付①,日付②),Integer))
 →日付①と日付②の差分日付を算出する。

・Assignアクティビティにて
 左辺:System.Threading.Thread.CurrentThread.CurrentCulture
 右辺:New System.Globalization.CultureInfo("ja-JP")
  →曜日を英語表記から日本語表記に変換する。

#7.データテーブル内の特定行を削除する
例えば、下図のデータテーブルから「名前:★」の行を削除してからoutputしたい場合…
ui2.JPG
ForEachRowで削除しようとすると、エラーが発生します。
ui3.JPG

そこで、ForEachを使って下記のように設定すれば、行の削除が出来ます。
ui4.JPG

#8.104万行以上のデータを…
エクセルの最大行数は1048575行となっており、仮にそれ以上のデータが含まれていたとしても、画面上には表示されません。

では、そんな大容量なデータをUiPathは読み込めるのか?
答えは「ReadCSVならOK、ReadRangeならNG」です。

例えば120万行のデータがあるCSVファイルを読み込み、それをRows.Countすると
ReadCSV→1200000
ReadRange→1048575
という結果になります。

#9.TooLargeエラー
「よし、ワークフロー完成したぞ!それじゃあパブリッシュ~」と思い、パブリッシュボタンを押すと…
TooLargeエラー画像.png

「Too Large」エラーが発生!
え、でもMain.xamlはたったの126KBだよ?

…はい、実は
「パブリッシュファイルのサイズ=Main.xamlを含めた、対象ワークフローで使用する全ファイルの容量」
となっています。

したがって、上記のTooLargeは「Main.xamlに対して」ではなく、
「Main.xamlを含むフォルダに対して」のエラーとなっています。

というわけで、画像内にある120071KBのデカいデータをフォルダ内から削除してあげれば解決します!

#10.フィルタ後のデータが…
DataTableに対して、FilterDataTableを使ってフィルタリングする時、「フィルタリングをした後にデータがあるか?」と確認するかと思います。
キャプチャ.JPG

では、「フィルタリングをする前にデータがあるか?」の確認をしたい時…
「.AsEnumerable.Any」という構文が使えます。
キャプチaャ.JPG

5
1
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
5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?