StudioXのアクティビティ

UiPath StudioXのExcelアクティビティ【セル操作】

2022/04/02

Excelを操作する上で、基本中の基本ともいえるのが、セルの値編集。

セルの値には、実際の値と数式と2つありますが、読み取るアクティビティがそれぞれ用意されています。

また別のアクティビティではオートフィルが可能で、使えるようになると、StudioXの設計がスリムになりますね。

いずれも使用頻度の高いものばかりなので、しっかり覚えてしまいましょう。

この記事では、以下のアクティビティについて解説します。

記事編集時のStudioX - ver2022.4.0

セル操作のアクティビティ

  • セルの値を読み込み
  • セルの数式を読み込み
  • セルに書き込み
  • オートフィル

セルの値を読み込み

スプレッドシートのセルの値を読み込みます。(ガイドはこちら)

Excelのセルの値を読み取ります。

ここでは、以下の項目について解説します。

  • セル
  • 保存先
  • 書式テキストを取得

セル

値を取得したいセルを指定します。

Excelで、[名前の定義]を設定しているセルであれば、その名前(上図では"値段")を利用できます。

[名前の定義]が設定されていない場合は、[Excel内で示す]や[カスタム入力]で、直接セルを指定しましょう。

保存先

取得した値を、どこに記憶しておくか指定します。

書式テキストを取得

チェックONにすると、表示形式を反映した書式で記憶します。

サンプルに、取得するセルの値が"1352.32"、表示形式"$1,352.32"の場合で見てみましょう。

このとき、チェックONであれば、保存先には"$1,352.32"の形式で記憶します。

チェックOFFの場合は、"1352.32"の形になります。

チェックON チェックOFF
$1,352.32 1352.32

注意点ですが、チェックをONにすると、日付や数値であってもテキストとして認識します。

これはつまり、日付計算や四則演算ができなくなるということです。

もし、後続の処理で計算する場合は、チェックをOFFにしてください。

[書式テキストを取得]をチェックONにして保存した値は、四則演算ができません。

日付は、チェックONでも日付計算できる場合があります。ただし、一部の表示形式のみに限られます。

セルの数式を読み込み

スプレッドシートのセルの式を読み込みます。(ガイドはこちら)

数式バーに表示される式を読み取ります。

なお、セルが式になっていないと取得しないので、その点を注意してください。

ここでは、[セル]と[保存先]について解説します。

セル

取得したい数式が記述されているセルを指定します。

Excelで、[名前の定義]を設定しているセルであれば、その名前(上図では"日付")を利用できます。

[名前の定義]が設定されていない場合は、[Excel内で示す]や[カスタム入力]で、直接セルを指定しましょう。

保存先

取得した値を、どこに記憶するか指定します。

セルに書き込み

セル内にテキストまたは式を入力します。(ガイドはこちら)

セルに値、または式を入力します。

ここでは、以下の項目について解説します。

  • 書き込む内容
  • 書き込む場所
  • 行を自動インクリメント

書き込む内容

セルに書き込む内容を指定します。
数式を入力することも可能で、"="から始まる式を記入すれば、Excelでは数式として代入されます。

値を書き込む 数式を書き込む

書き込む場所

書き込むセルの位置を指定します。

Excelで、[名前の定義]を設定しているセルであれば、その名前(上図では"日付")を利用できます。

[名前の定義]が設定されていない場合は、[Excel内で示す]や[カスタム入力]で、直接セルを指定しましょう。

行を自動インクリメント

この項目は、繰り返しアクティビティの中で使われることで、機能が有効になります。

インクリメントとは、「値をプラス1する」という意味ですが、このアクティビティでは、書き込むセルを1行下に移動することを意味します。

なお、インクリメントが有効になる繰り返しアクティビティは、以下の4つです。

例えば、こんな例を考えてみましょう。

例題

セルB2に"=Row(B2)"を書き込む。インクリメントはON、繰り返し回数は5回。

繰り返しには、[繰り返し(指定回数)]アクションを使います。

Excelに書き込まれる結果がどうなるか、イメージできますか?

Row()は、カッコ内のアドレスの行番号を返します。"=Row(A100)"なら100です。

答えはこちら。

B2からB6まで、"=Row(B2)"が記入されています。

ひょっとしたら、B3には"=Row(B3)"、B4には"=Row(B4)"のように、数式のアドレスも値がプラスしていくだろうとイメージするかもしれません。

ですが、[書き込む内容]が固定値のため、そうならないことに注意してください。

一例ですが、参考までに。

期待どおり、B6へ"=Row(B6)"が書き込まれるようにするには、詳細エディターで「"=Row(B" & CurrentItem + 1 & ")"」を入力すればうまくいきます。

[範囲をコピー/貼り付け]アクションを使えば、もっとシンプルに組めそうです。
おぐし

オートフィル

Excelのオートフィル機能を使用して他のセルのデータを元にセルにデータを入力します。(ガイドはこちら)

選択した範囲の値の法則性に従って、表の一番下まで値を埋める機能です。

つまり、Excelの[オートフィル]とほぼ同等の機能です。

ここでは、[ソースを選択]について解説します。

ソースを選択

オートフィルを掛ける際に、選択する範囲を指定します。

冒頭のサンプルで言えば、"A2:A3"です。

 

StudioXの[オートフィル]は、Excelのオートフィルとは違い、表の一番下まで値が埋められます

例えば、下図のように、A7に何か値が入っているとしましょう。

Excelの場合、値が書き込まれている手前、つまりA6でオートフィルがストップしますよね。

対してStudioXの[オートフィル]の場合、A7の値は書き換えられ、最終行まで値が書き込まれます。

まとめ

値を取得したり書き込んだりするだけであれば、そう難しくはないでしょう。

しかし、書式が絡んできた李、数式での編集になると、少し頭をひねる必要がありそうです。

まとめます。

まとめ

  • [セルの数式を読み込み]は、式である場合のみ読み取り可能。
  • [セルの書き込み]のインクリメントは、繰り返しの中で使うと、書き込み先が1行ずつ下がる。
  • [オートフィル]は、値が入っている最後の行まで書き換えられる。

この記事で、何か1つでも新しい発見が得られたのなら、僕もうれしいです。

-StudioXのアクティビティ

© 2023 おぐしログのRPA入門