WinActorを使うのに不可欠な「変数」。
しかし、プログラマーではないユーザにとって変数の使い方の習得は最初に出会う大きな壁です。「なんで変数を使うの?」「変数ってそもそもなに?」といった疑問が次々に出てきて、WinActorの使い方習得そのものに時間がかかっているのではないでしょうか。
本稿では、プログラマーではないWinActorユーザに向けて、変数とはなんなのか、なぜWinActorで使う必要があるのかなど、基本的な知識や使い方をわかりやすく解説していきます。
WinActorで変数の使い方につまずいている方は、ぜひ最後までご覧ください。
コラムでわかること
- 変数とは?
- 変数を使うメリット
- WinActorで変数を扱う理由
- 変数の使い方
ゼロからわかる!RPAと導入のコツ
「RPAとは?」「RPA導入を考えているけれど、どうすればいいのかわからない」といった方に向けて、わかりやすく解説した資料です。
変数の基本① 変数とは?
変数とは「一定範囲内にはあるが、どの特定値とは限らずに考えた時の、その数を表す記号」と定義されています。プログラムのソースコードにおいては、データを読み書きする記憶域のこと。固有の名前によって識別されます。
わかりやすく言うと「情報を入れる箱のようなもの」と考えてください。
箱の中にはさまざまな数値や文字列などを入れることができます。数値を入れることをWinActorでは「格納する」 と言います。箱には名前を一つだけつけることができます(WinActorでは変数名と呼びます)。
変数を使わないプログラミングはほぼありません。それほどプログラミングにとって大切な考え方なのです。
変数の基本② 変数の便利なところ
変数はさまざまな数値が入れられる箱です。この箱に、「バナナの金額」「リンゴの金額」という名前を付けて、バナナの金額の箱に「300」、リンゴの金額の箱に「150」と金額を示す数字を格納します。
バナナの金額の箱、リンゴの金額の箱はさまざまな場所で使えます。バナナとリンゴの合計金額を求めたり、バナナ100個の合計金額を求めたり…。
もしさまざまな計算に使った後、「実はバナナは150円だった!」となっても、変数を使っていれば問題ありません。
箱の中のバナナの金額を変更すれば、バナナの金額が入った箱は全て150円に変更されるので、いろいろなところで使ったバナナの金額を一つひとつ修正しなくてもよくなります。
変数の基本③ WinActorで変数を使う理由
実は、WinActorには取得した値を保持する機能はありません。変数の箱を作ってあげると、値を持つことができるようになります。
図からもわかるように、箱を用意していないとリンゴの金額を入れる先がなくなってしまいます。すると、その後の「Excelに転記」という作業もできなくなります。
変数の使い方① WinActorの変数入力はインプットとアウトプットの2種類
変数の設定でつまずきやすい理由に、「今、何の変数を入力しているのか」が分かりづらい点が挙げられます。
これは「プロパティの入力画面をどのように読み取るか」で解決できます。
わかりやすく解説していきましょう。
画像はExcelにおける特定のセルの表記を取得するノードの記載です。
ファイル名:呼び出すファイルのファイルパス(変数)
シート名:Excel内のシートの指示(変数)
セル位置:Excel内の取得したいセルの位置(変数)
取得方法:セルの値の取得方法を指定
格納先変数:取得した値を格納する指示(変数)
どこにどんな変数を入力しなければならないのか、変数の使い方があやふやな初心者だと考えこんでしまいますよね。プロパティについてはこのように切り分けるとわかりやすくなります 。
こう考えると、どこにどんな変数を入力すればいいのか、ずいぶんわかりやすくなったかと思います。
変数の使い方② 変数の初期値を入れる? 入れない?
WinActorを使っていて「変数の初期値を入れなくても動くシナリオがあるのはなぜ?」「初期値を設定する・しないはどこで決まるの?」と考えて、つまずいた方もいるのではないでしょうか。
まずは疑問を一つずつ整理してわかりやすくしてみましょう。
変数の初期値が必要なのはどんな時か
変数は、「箱の中に入った情報」ですよね。その情報を使って、後に続く作業を実行させたいわけです。作業を実行する際に必要な情報は、あらかじめ箱の中に入っていないといけません。
つまり、「あるExcelデータの指定されたセルに記載された内容を転記する」という作業を行う時、「どのExcel」「どのセル」かがわからないと、WinActorが情報を取りにいけません。
そんな時に「どのExcel」(ファイルパス)、「どのセル」(セルの行列)を指定する、つまり初期値の入力が必要になります。
変数の初期値の入力が不要な場合
一方、初期値を入力しなくてもいいのはどんな場合でしょうか? たとえば、日付を取得して、その日付を「年」「月」「日」に分ける作業をしたいとしましょう。
これをWinActorで作ると、下画像のようになります。
このシナリオの場合、ノード「日時取得」が日時の数字を取得してきてくれるので、用意するのは箱(変数名)だけで良くなります。
次の「年月日を分ける」作業については、前のノードで取得した年月日が箱の中に入っているので、箱(画像の場合は「今日の日付」)の名前を教えてあげるとその中の情報を取りに行ってくれます。
取りに行った後、別の箱に入れる指示が「年」「月」「日」の部分です。指示された数字を、指示された箱へとWinActorが移してくれます。
ポイント
「変数の動きを確認したくても、WinActorの動作が早すぎて確認できない…」
そんな場合は、ノードの間に待機ボックス入れましょう。しっかりと変数の動きが確認できます。
一塊のシナリオができれば、待機ボックスは外してしまいましょう。
変数の初期値について まとめ
「変数の初期値が必要なのはどんな時か」という疑問についてわかりやすくまとめると、
●作業させたい時に必要な情報がなければ、初期値の入力が必要
●作業させたい時に必要な情報がそろっていれば、初期値の入力が不要
ということになります。
ここをしっかりと把握することで、変数の使い方に対する理解が加速します。
ポイント
そもそも「ファイルパスは最初から全部入れると決めておけばいいのでは?」と思われる方もいるかもしれません。しかし、業務上ファイル名を都度変更するケースもあります。その場合、いちいちファイルパスを指定するのは手間ですよね。
ファイルパスが必要になるノードが動く前に、必要なファイルパスを取得するようなノードを用意しておけば、いちいちファイルパスを手動で設定する手間はなくなります。
上記のような使用の仕方もあるので、変数の初期値を入力するかしないかについての判断は「作業させたい時に必要な情報がそろっているか」という基準になります。
変数の使い方 まとめ
- 変数は、情報を入れる箱のようなもの
- WinActorには取得した値を保持する機能はなく、ヒトが変数の箱を作る必要がある
- WinActorのプロパティ画面は、入力項目がインプット情報とアウトプット情報のどちらなのかを意識する
- 変数の初期値を入力する場合、しない場合
- 作業させたい時に必要な情報がなければ、初期値の入力が必要
- 作業させたい時に必要な情報がそろっていれば、初期値の入力が不要
変数の使い方について、とくに構築で役立つのはプロパティ画面の入力項目についてと、初期値入力の有無でしょう。ぜひ本稿をきっかけに使い方のコツを習得してください。
変数はWinActorのみならず他のプログラミングにも頻繁に登場するので、ぜひ本ページの使い方の解説を思い浮かべながら作成してみてくださいね。
「具体的なシナリオの作り方もわかりやすい説明をしてほしい」「もっとWinActorの使い方を詳しく知りたいけれど、社内に詳しい人材がいない」という場合は、ぜひロボフィスの研修サービスをご検討ください。クライアント企業の実務に合わせたオリジナルカリキュラムを作成するので、研修直後から使える実用的な知識をわかりやすくお伝えできます。
「使い方よくわかっていないまま業務を進めている」という状態は、思っている以上に非効率なもの。ぜひわかりやすい研修から正しい知識を得て、もっと業務を効率化していってください。
【無料公開資料】WinActorの使い方
大好評連載中のコラム「WinActorの使い方」に掲載した、「Excelの請求書作成業務の自動化」「システム転記作業の自動化」「交通費精算業務の自動化」3本をまとめた、教科書的資料です。
シナリオづくりで迷った際に手元に一部あると便利です! また、社内教育にもお役立てください。