LoginSignup
4
5

More than 5 years have passed since last update.

【UiPath】「セルを読み込む」アクティビティについて

Last updated at Posted at 2018-11-10

「Excelのセルのサマった値(SUM)が取れない!!」という事案が発生し、
「そんなバカな。。。!!」と思い、調べた備忘録です。
結論、関数値でも書式がユーザー定義のセルでも値は取れるようです。

「セルを読み込む」アクティビティは2つある

日本語版のUiPathでは「セルを読み込む」と訳されているアクティビティは2つあります。
僕はこのトラップに見事に引っ掛かりましたw

image.png

青枠の「セルを読み込む」はRead Cell
赤枠の「セルを読み込む」はExcel Read Cell
です。

Read Cellのプロパティ

image.png

Excel Read Cellのプロパティ

image.png

Read CellとExcel Read Cellの違い

Read Cellはそれ自身がExcelファイルを指定できるようになっており、単独で使えますが、Excel Read CellはExcel application scopeの中で使うことが前提となっています。

他にもオプションが多少異なり、Read Cellには「パスワード」がありますが、Excel Read Cellにはありません。

問題なのは、「表示形式を保持」オプションの返却値が異なるという点です。

試しに、以下のサンプルに話を進めることにします。
A1~A5セルは、それぞれユーザー定義[h]: mm:ssが設定されており、A6セルで=SUM(A1:A5)として合計時間を算出しています。
今回はA6セルの値を取得してみます。

image.png

image.png

Read Cellの場合

image.png
「表示形式を保持」オプションをオンにして、結果を変数result(型はGenericValue)に入れるものとします。resultをメッセージボックスに表示させてみます。

image.png

セルに表示された合計時間とは異なる値が取得できてしまいました。

この値の正体は、セル書式を「標準」とした場合の表示値です。
ユーザー定義されたセル値は取得できるようなのですが、
関数値になるとセル書式が「標準」の場合の値を取得してしまうようです。
image.png

Excel Read Cellの場合

image.png
Read Cellと同様にやってみます。

image.png

結果、きちんとセルに表示されている合計時間が取得できています。

まとめ

関数値の取得はExcel Read Cellを使いましょう。
Read Cell以外にも同じ日本語訳がされているアクティビティがあり混同しがちなので、Excel操作系のアクティビティは「アプリの統合」→「Excel」直下に置かれたアクティビティを使うのが無難と思われます。

4
5
1

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