0

おはようございます。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

事前にご協力いただきありがとうございます

4

1 に答える 1

4

試す:

$r[0,0]

私のテストでは、最初の値を得るために 1 から開始する必要があります。

$r[1,1]
于 2013-06-07T11:01:40.840 に答える