Excel テーブルから値 (VALUE1) を読み取り (必要に応じて XML に変換できます)、それを変数 ($PLACEHOLDER) に割り当て、残りのスクリプトを実行する PowerShell スクリプトを作成しています。最初にループバックしますが、元の値 (VALUE1) を読み取る代わりに、その下の値 (VALUE2) を読み取り、$PLACEHOLDER を VALUE2 で上書きし、空白の値が返されるまでスクリプトを再実行します。やめてほしい。私はPowerShellに非常に慣れていません.Excel/xmlとのやり取りなので、どんな助けでも大歓迎です。(私は独学なので、パラメータについてあまり知りません)
Sample in Terrible Psuedo:
#Initial placeholder value here
$RowNumber = 0
#Start of the loop here, add one to previous value
$RowNumber +1
#Call the value in Column (1), Row ($RowNumber), and assign it to $RowValue
?????? = $RowValue
#Execute the command involving the data value
ECHO "C:/test/temporary/$RowValue"
#Goto the start of the loop.
もしよろしければ、あなたが使っている関数の簡単な説明をお願いします (パラメータ、何が起こっているのかなど)。
編集:空白行を検出してスキップできれば、それは素晴らしいことです。
EDIT3: Ansgar のコード
$xl = New-Object -COM 'Excel.Application'
$xl.Visible = $true # set to $false for production
$wb = $xl.Workbooks.Open("C:\Documents and Settings\xe474109\Desktop\EXCEL FILES\testbook2.xlsx")
$ws = $wb.Sheets.Item(1)
$row = $ws.UsedRange.Rows.Count
while ( $ws.Cells.Item($row, 1).Value -ne $null ) {
$PLACEHOLDER = $ws.Cells.Item($row, 1).Value
#
# do stuff with $PLACEHOLDER here
#(I wanted to test this by just printing the $PLACEHOLDER value
$PLACEHOLDER
$row++
}
$wb.Close()
$xl.Quit()
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($xl)