2017-11-30 3 views
-2
$objExcel = New-Object -ComObject Excel.Application 
$objExcel.Visible = $false 
$WorkBook = $objExcel.Workbooks.Open($filepath) 
$WorkBook.Sheets | Select-Object -Property Name 
$WorkSheet = $WorkBook.Sheets.Item($sheetname) 
$worksheetrange = $WorkSheet.UsedRange 
$last = $worksheetrange.Rows.Count 

i wanted to read the value 17/11/2017 from the image i.e the last row in column Aは私が3行を使用して答え真である3を取得している

Excelで使用された最後のセルの値を取得するには、私は3行目に存在する値を取得したいと私たちは続けるとして行を追加する方法を追加するには?あなたはPowerShellのに固執する場合

LastRow = Sheet1.Cells(Sheet1.Rows.Count, "A").End(xlUp).Row 
'This will find the last used row on column A of Sheet1 

value = Sheet1.cells(LastRow,1).value 
'Place the value of that cell into a variable 

Msgbox value 
'Display the variable to the user in a msgbox 
+1

ここにあなたの質問が何であるかはわかりません。あなたは何を達成しようとしていますか?期待どおりに動作しないのは何ですか? –

+0

私は値 "17/11/2017"、つまり、貼り付けた画像から列Aの最後の行を読みたいと思っていました。 –

+0

これを見てください:https://stackoverflow.com/questions/19211632/read-excel-sheet-in-powershell –

答えて

0

これは、ちょうどあなたの実際のシート用シート1を変更する、それを行うだろう。私はあなたがすでに$filepath$sheetnameを指定すると仮定してい

$objExcel = New-Object -ComObject Excel.Application 
$objExcel.Visible = $False 
$WorkBook = $objExcel.Workbooks.Open($filepath) 
$WorkSheet = $objExcel.WorkSheets.item($sheetname) 
$WorkSheet.activate() 

[int]$lastRowvalue = ($WorkSheet.UsedRange.rows.count + 1) - 1 
$lastrow = $WorkSheet.Cells.Item($lastRowvalue, 1).Value2 
write-host $lastrow 

$objExcel.Quit() 
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($objExcel) | out-null 

。これを試してみてください。毎回実行後にExcelを閉じることを忘れないでください。

+1

このコードスニペットは質問を解決するかもしれませんが[説明を含む](http:// meta。 stackexchange.com/questions/114762/explaining-entirely-code-based-answers)は本当にあなたの投稿の質を向上させるのに役立ちます。将来読者の質問に答えていることを覚えておいてください。そうした人々はあなたのコード提案の理由を知らないかもしれません。 – Clijsters

関連する問題