Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
5
Help us understand the problem. What is going on with this article?
@g_takagi

UiPathで匿名関数を使う

More than 1 year has passed since last update.

そもそもRPAでそれってどうなの?

と、言ってしまうと身も蓋もないけれども。
VB.NETプログラミングをそこそこ習熟した人であれば、時と場合によっては使えるかもしれないテクニック。

たとえば。
現在、消費税は8%なのだけど、UiPathで消費税を計算させるのは割と冗長になる。
将来的な税率変更に備えて、たとえば「TaxRate = 1.08」みたいな変数を初期化して使うことはできる。
でも消費税を計算するところでは、

CInt(価格 * TaxRate)

みたいなAssignをボコボコ置くわけで。
ましてや、将来、複数税率になるかもしれない、なんて話もある。
その時に毎回、IFアクティビティで分岐して処理するのはWorkflow的に美しくない。
正攻法でいえば別Workflowに切り出して、Invoke Workflowしても良いのだけど、オーバーヘッドが今度は気になる。

ではどうするか。

ラムダ式使えばいいじゃん

image.png

たとえばこんな感じで変数の型を指定する。
Func< まで入力すればずらーっと候補は出るので、あとは引数のInt32とBoolean、戻り値のInt32を設定すればいい。

これで何ができるか。
具体的にAssignする内容は以下のようになる。

image.png

これだけだと「何が何だか」状態。右辺の内容は、

Function(price, highRate) CInt(price * IF(highRate, 1.1d, 1.08d))

こんな感じ。引数1(price)が税抜き価格、引数2(highRate)が税率高いほうかどうかの設定。

これが何に使えるか。
Assignアクティビティで一発で、かつ明瞭簡潔に「税込み金額」が計算できる。

image.png

こんな感じ。

・・・RPAを「プログラミングレス」なツールとして見た場合は邪道も甚だしいけど、時と場合によってはWorkflowがスッキリするかもしれない、ということで。
VB.NETにどっぷり踏み込んだことのあるUiPathユーザーの方は、ネタの引き出しとして使ってみてください、という話でした。

5
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
g_takagi
RPAしてます。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
5
Help us understand the problem. What is going on with this article?