0

最初の35行(空の行を含む)をA列から変数に取得する必要があります。 私はインターネットを見ましたが、私はどこでも答えを見つけることができません。 $ data = $ worksheet.Range( "A1:A35")。テキストはセルA1のみを返します。私はCell.itemなどで試したが成功しなかった。誰もExcel範囲からA1:A35を抽出してテキストファイルに保存する方法を知っていますか?前もって感謝します。powershellのExcelから特定の行数を取得する方法

$excel = New-Object -ComObject Excel.Application 
$workbook = $excel.workbooks.open("*PATH_TO_THE_FILE*.xlsx") 
$worksheet = $workbook.sheets.item("MatrixFill") 
$data = $worksheet.Range("A1:A35").text 
$excel.Quit() 

答えて

0

アクセスしようとしているテキストプロパティは実際にはオブジェクトなので、そのように扱う必要があります。また、範囲の場合:の代わりに,を使用する必要があります。以下はあなたに必要なものを与えるでしょう。私はそれをテストしたときに私のために働いた。

$excel = New-Object -ComObject Excel.Application 
$workbook = $excel.workbooks.open("*PATH_TO_THE_FILE*.xlsx") 
$worksheet = $workbook.sheets.item("MatrixFill") 
$worksheet.Range("A1","A35") | select -expand text |out-file "textfilename.txt" 
$excel.Quit() 

または

$excel = New-Object -ComObject Excel.Application 
$workbook = $excel.workbooks.open("*PATH_TO_THE_FILE*.xlsx") 
$worksheet = $workbook.sheets.item("MatrixFill") 
$data = $worksheet.Range("A1","A35") | select -expand text 
$data | out-file "textfilename.txt" 
$excel.Quit() 
+0

おかげで、魔法のように動作します。しかし、私も( "A1"、 "A35")試してみたと確信しています。私は、-expandテキストがキーであると仮定します。以前は私はそれを使わずに私は最初の行しか持っていませんでした。 ありがとうございました! –

関連する問題