Автор: Drunken_Master
Дата сообщения: 08.04.2008 21:49
Вот такой пример. В таблице 2 колонки: user, pass. Читаем из первой, пишем во вторую (1 строку пропускаем - типа заголовок).
Код: $excel = New-Object -comObject Excel.Application
$ci = [System.Globalization.CultureInfo]("en-US")
$filename = "e:\Scripts\PS\test.xls"
$excel.Workbooks.PSBase.GetType().InvokeMember("Open", "InvokeMethod", $null, $excel.Workbooks, @($filename), $ci) | Out-Null
#$excel.Visible = $true
$wb = $excel.Workbooks.Item(1)
$ws = $wb.Worksheets.Item(1)
$oldofs = $ofs
$ofs = ''
$i = 2 # Пропускаем заголовок
do {
$usr = $ws.Cells.Item($i, 1).FormulaLocal
$ws.Cells.Item($i, 2).FormulaLocal = [String]($usr[($usr.Length - 1)..0])
$i++
} until ($usr -eq "")
$wb.PSBase.GetType().InvokeMember("Save", "InvokeMethod", $null, $wb, $null, $ci) | Out-Null
$wb.PSBase.GetType().InvokeMember("Close", "InvokeMethod", $null, $wb, $null, $ci) | Out-Null
$ws = $null
$wb = $null
$excel.Quit()
$excel = $null
$ofs = $oldofs