ray88’s diary

お仕事で困ったとき用の自分用の覚書

InvokeCodeでExcel最終行を取得

■下準備
以下のページの①と②の手順を予め行い「Microsoft.Office.Interop.Excel」を参照設定しておく。
UiPath InvokeCodeでExcelを操作 - ray88’s diary
■サンプルフロー
f:id:ray88:20211207075116p:plain
■InvokeCodeの引数設定
f:id:ray88:20211207075405p:plain
■InvokeCodeに各コードの例

'Excelアプリケーションを起動します。
Dim xlApp As Application = New Application()
'対象のExcelを開きます。ファイルパスは適宜変更してください。
Dim xlWorkbook As Workbook = xlApp.Workbooks.Open(argStrFilePath,,,,argStrPw)
'対象のシートを開きます。このとき、DirectCast を使ってWorkbook(Object型)をWorkSheetへと明示的に変換します。シート名は適宜変更してください。
Dim xlSheet As Worksheet = DirectCast(xlWorkbook.Sheets(argStrSheetName), Worksheet)
'最終行を取得したい基点のセルを指定します。
Dim xlCells As Range = xlSheet.Range(argStrCellAddress)
'最終行を出力用引数に格納
argIntLastRow = xlCells.End(xlDirection.xlDown).Row
'ワークブックを閉じます
xlWorkbook.Close()
'Excelアプリケーションを終了します
xlApp.Quit()

※エラーになったりうまく動かない場合はこちらを参照
Uipath InvokeCodeで名前空間 Interop.Excel を使用したコードがうまくいかないとき - ray88’s diary