Read CellとWrite Cellを列方向(横方向)に繰り返したい

こんにちは。
UiPath Studio 2024.4.0 Community editionのユーザです。

まずは添付画像をご覧ください。B2セルから右方向にTimeSpan変数(“hh:mm:ss”)の値が10個並んでいます。

Read Cell(workbook)アクティビティとWrite Cell(workbook)アクティビティを連続実行する下記のアルゴリズムを構築したいです。

B2セルの値をString変数str_B2セルに取得

(CInt(str_B2セル.Split(":“c)(0))*3600 + CInt(str_B2セル.Split(”:“c)(1))*60 + Cint(str_B2セル.Split(”:“c)(2))).ToString
で値を秒に変換

B3セルに値を書き込み

C2セルの値をString変数str_C2セルに取得

(CInt(str_C2セル.Split(”:“c)(0))*3600 + CInt(str_C2セル.Split(”:“c)(1))*60 + Cint(str_C2セル.Split(”:“c)(2))).ToString
で値を秒に変換

C3セルに値を書き込み

D2セルの値をString変数str_D2セルに取得

(CInt(str_D2セル.Split(”:“c)(0))*3600 + CInt(str_D2セル.Split(”:“c)(1))*60 + Cint(str_D2セル.Split(”:"c)(2))).ToString
で値を秒に変換

D3セルに値を書き込み
以降、K3セルに値を書き込みまで繰り返し

セル位置をB2⇒C2⇒D2とアルゴリズムで変更するためには、一度アルファベットをASCIIコードに変更するのでしょうか?
また、そもそもRead Cell(workbook)アクティビティとWrite Cell(workbook)アクティビティで、ASCIIコードに変更されたセル位置を受け付けるのでしょうか。よく分かりません。

サンプルコードが書ける方、ご支援よろしくお願い致します。

整数で例えば2から所定の列番号までイテレートして、以下のメソッドで列のアルファベットを取得すると良いかと思います。下記は例えばintVarが2のとき"B"が返ります。

UiPath.Excel.Helpers.ExcelUtilities.ConvertColumnIndexToColumnLetter(intVar)

また、そもそもRead Cell(workbook)アクティビティとWrite Cell(workbook)アクティビティで、ASCIIコードに変更されたセル位置を受け付けるのでしょうか。よく分かりません。

セルアドレスは文字列で例えば "B2"とすれば正常に処理されます。

Invoke Methodアクティビティへのいただいたメソッド設定方法が分かりません。ご教示ください。
私が設定したのは

TargetType⇒UiPath.Excel.Helpers.ExcelUtilities
Method Name⇒ConvertColumnIndexToColumnLetter
結果⇒str_Char
です。


InvokeMethodを使う必要はありません。Assignアクティビティを使用してください。

回答ありがとうございます。
"ConvertColumnIndexToColumnLetter"はメソッドにも関わらず、Invoke Methodが使えないのは素朴に不思議です。
Invoke Methodが使えないmethodには何か特徴がありますか?

手元の環境では問題なく使えますが

何か不要な設定をしている等ありませんでしょうか?

原因が分かりました。Methodへの入力パラメータint_Varに初期値が設定されていませんでした。
ありがとうございます。

invoke methodは無事通過しましたが、Read Cell(Workbook)アクティビティでセル位置を
変数を使って str_char + “3” などとB3を表現すると添付のエラーが出ます。
解決策をご教示ください。

このトピックのテーマと関係なく、単にデータが日付・時刻のものを文字列型の変数で受け取ろうとしているからかと思います。Object型やGenericValue型で受けてみてください。

ある方のアドバイスに従い、Excelから読み出す際にいったんDatetime型で受けることにしました。すべてうまく行きました。

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