2
0

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.

Automation Anywhere A2019でランダムな文字列や数字を発生させるには

Last updated at Posted at 2020-02-24

概要

Automation Anywhere v11ではrandom型の変数があり、ランダムな数字や文字列を生成してくれる仕組みがあったことは『Automation Anywhereでランダムな文字列や数字を発生させるには』で述べましたが、A2019ではそれがなくなったので、代替手段が必要になります。

※ 少なくともA2019.13では復活しています。文字列パッケージに「ランダム文字列の生成 (Generate random string)」アクション、数字パッケージに「ランダム (Random)」アクションが追加されました。

A2019ではお手軽にインラインスクリプトが貼れるようになったので、これを使うのがよいでしょう。今回は既にいろいろな手法が公開されており特別な環境を用意する必要がないJavaScriptを使います。

準備

以下のようなフローを準備します。準備の詳細は『Automation Anywhere A2019でPython/JavaScript/VBScriptのインラインスクリプティングでプログラミングを行う』の「Javascript」の章に従ってください。
image.png

数値

v11であった、2つの数字 (min, max)の間にある整数を得る仕組みを再現するJavaScript関数を作成します。

getRandomNumber.js
function getRandomNumber( min, max ) {
    return Math.floor(Math.random() * (max - min + 1) + min);
}

参考情報: 『《JavaScript》範囲指定したランダムな値を得るスクリプト。』 by @uto-usui さん

呼び出し方法

  1. 上記のコードを**「JavaScript: Open」**アクションの詳細「Manual script: Enter script here」に貼り付けます。
  2. 変数としてリスト型変数JscriptArgsを作成して初期値を設定します。(サブタイプは必ず数字にしてください。)
    image.png
  3. **「JavaScript: Run JavaScript」**アクションで、「Enter name of function to be executed」にgetRandomNumber、引数にあらかじめ作成しておいたリスト型変数 JscriptArgsを指定して保存します。
    image.png

結果

10回の実行結果:
image.png

文字列

v11であった、半角英数字 (大文字/小文字バリエーションあり)から成る指定した長さ (length) の文字列を得る仕組みを再現するJavaScript関数を作成します。

getRandomString.js
function getRandomString( length ) {
    var c = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
    var r = "";
    for(var i=0; i<length; i++){
        r += c[Math.floor(Math.random()*c.length)];
    }
    return r;
}

参考情報: 『Javascriptでランダムな文字列を生成する方法』by @ryounagaoka さん

呼び出し方法

  1. 上記のコードを**「JavaScript: Open」**アクションの詳細「Manual script: Enter script here」に貼り付けます。
  2. 変数としてリスト型変数JscriptArgsを作成して初期値を設定します。(サブタイプは必ず数字にしてください。)
    image.png
  3. **「JavaScript: Run JavaScript」**アクションで、「Enter name of function to be executed」にgetRandomString、引数にあらかじめ作成しておいたリスト型変数 JscriptArgsを指定して保存します。
    image.png

結果

10回の実行結果:
image.png

おわりに

発生したランダム数値/文字列の重複可能性や乱数生成器の質が気になる方は、参照元の記事を見てみて工夫してください。この仕組みをよく使う場合は、アクションリストの可読性をあげるために別のTaskBotに切り出しておいてもいいかもしれません。

それではまた!

2
0
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
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?