範囲内を検索アクティビティにて取得したセル位置の行に対応した、別のセル値を取得したい

UiPathでの開発を始めて1か月ほどです。
下記の問題の回避方法、もしくは別の方法があればご教授いただきたいです。お力添えをお願いいたします。

・やりたいこと
以下の添付画像のエクセルファイルにて、企業名を検索後、その企業の表に記載してあるメールアドレスを取得したい。
(例:企業1を検索したら,
hogehoge1@mail.com,hogehoge2@mail.com,hogehoge3
@mail.com,hogehoge4@mail.comのすべてのアドレスを取得する。)

・現在試している方法
「範囲内で検索」にて、目的の企業名のセル位置を取得

「テキストを変更」にて、取得したセル位置の”B”を削除(数字のみにする)

「代入」にて、数字のみにしたセル位置をInt型に変換

「複数代入」にて、Int型にしたセル位置に+3して行をずらす。

”B”を付け足し、String型に戻したセル位置を利用し、「範囲を読み込み」にて、Datatable型として取得

Datatable型からメールアドレスを取得

・問題
上記の現在試している方法の、
「代入」にて、数字のみにしたセル位置をInt型に変換
の部分で型変換後の数字が0になってしまう。

こんにちは

Bを削除する前の文字列はどのようになっていますでしょうか?
Bを削除するロジックはどのようにしていますでしょうか?
型変換する前の文字列は何になっていますでしょうか?

それぞれブレイクポイントやログ出力等を併用して確認・共有可能でしょうか?

@Yoichi
Yoichiさんご回答ありがとうございます。
以下質問の回答です。

>>Bを削除する前の文字列はどのようになっていますでしょうか?
B1083という文字列で取得されます。

>>Bを削除するロジックはどのようにしていますでしょうか?
ロジックの画像を添付いたしました。

>>型変換する前の文字列は何になっていますでしょうか?
1083です。

こんにちは

"1083"が変換されて0というのは妙ですね。変換メソッドは何を使ていますでしょうか?
CIntでしょうかInt32.Parseでしょうか?
誤って別の変数への設定、あるいは同じ名称の変数を多重定義しているようなことはありませんでしょうか?

変換メソッドは何を使ていますでしょうか?
変換メソッドはCIntです。

>>誤って別の変数への設定、あるいは同じ名称の変数を多重定義しているようなことはありませんでしょうか?
別の変数へ設定しているということはないと思います。似たような名前の変数があったので名称を変更してデバックしましたが、結果は特に変わりませんでした。

こんにちは

見た目は問題なさそうですね....
可能であれば、当該xamlファイルを共有いただくことは可能でしょうか?(ユーザー権限の問題でアップロードできないかもしれませんが....)

申し訳ないです。ユーザー権限の問題でxamlファイルはアップロードできそうにないです…

それでは、手さぐりになりますが、CIntの代わりにInt32.Parseを使った場合どのようになるか確認可能でしょうか?

Int32.Parse(変数)

CIntを使った時と同じ結果になります。

ということは引数の中身が"0"の可能性が高いですね。
原因が特定できませんが、一旦下記の式で代入アクティビティを使って必要な数値を直接取得してみてもらえませんでしょうか?

int業務連絡先検索結果 =  Int32.Parse(System.Text.RegularExpressions.Regex.Match(str業務連絡先検索結果,"\d+").Value)

教えていただいた式でも同じ結果になります…

妙ですね...
ログ出力で直接

Int32.Parse(System.Text.RegularExpressions.Regex.Match(str業務連絡先検索結果,"\d+").Value)

を出力するとどうなるか

問題なければ、別のInt32変数を定義して(例えばintTemp)それに代入したにどうなるか

もしすでに上記でログ出力ですでに問題があるのであれば、str業務連絡先検索結果 の中身の確認が必要になりますので、確認済みと思いますが、再度の内容確認ですね。

出力した結果は問題なく、”B”が削除された数字のみが出力されます。

新しく変数を定義して代入した結果も同じで0になってしまいます。

IntTempには正しく数値がセットされているように見えますので、こちらを使用できませんか?

すみません、見落としておりました。
新しく定義した変数に代入すると問題なく型が変換されました!
ログ出力でも問題なく数字が表示されます。

使用している変数に問題があったんですね…
長々とお付き合いいただきありがとうございました!

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.