おはようございます。powershell バージョン 3.6 を使用しており、MS Excel シートからデータを読み取りたいと考えています。私は次のコードを書きました:
$objExcel = New-Object -ComObject Excel.Application
$objworkbook=$objExcel.Workbooks.Open($path)
$sheet = $objworkbook.Worksheets.Item(1)
$sheet.Visible = $true
$r = $sheet.Range("A7:C12").value2 #$r is an 2d array
write-host $r[0][0]
$objworkbook.SaveAs($path)
$objworkbook.Close($false)
$objExcel.Application.DisplayAlerts = $False
$objExcel.quit()
$ExcelProcess=get-process excel
$ExcelProcess | foreach {stop-process ($_.id)}
このスクリプトを実行すると、範囲の内容が表示されます。しかし、インデックスを使用して配列の値を取得しようとすると、機能しません。このエラーを返します:
インデックス [0] は、2 次元配列へのアクセスには無効です。+ $r[0][0] + ~~~~~~~~ + CategoryInfo : InvalidOperation: (:) []、RuntimeException + FullyQualifiedErrorId : NeedMultidimensionalIndex
事前にご協力いただきありがとうございます