PDA

Показать полную графическую версию : Получение значения ячейки Excel в переменную Powershell


dyshes90
04-04-2019, 12:56
Доброго времени суток, столкнулся с проблемой выборки данных из таблицы в пристежке:

Два столбца со значениями. Нужно, если поиск находит значение ячейки A1, в переменную передавалось значение ячейки B1 и так далее.
Вот кусок кода по поиску значения, он работает, выдает ячейку, где находится значение, как дальше ума не приложу... Помогите по возможности....


$SearchText = '*1'
$Excel = New-Object -ComObject Excel.Application
$Files = Get-ChildItem C:\Users\Документ.xlsx -Recurse | Select -Expand FullName
$counter = 1
ForEach($File in $Files){
Write-Progress -Activity "Checking: $file" -Status "File $counter of $($files.count)" -PercentComplete ($counter*100/$files.count)
$Workbook = $Excel.Workbooks.Open($File)
$e = new-object -com excel.application
If($Workbook.Sheets.Item(1).Range("A:Z").Find($SearchText)){
$book = $e.Workbooks.Open($Workbook.FullNameURLEncoded)
$sheet = $book.WorkSheets.item(1)
$Cell = $sheet.range("A:Z").find("$SearchText")
$Workbook.FullNameURLEncoded
$SearchText
$Cels = $Cell.address($false ,$false)
$Workbook.Close($false)
}
else {
$workbook.close($false)
}
}

Iska
05-04-2019, 00:55
Нужно, если поиск находит значение ячейки A1, в переменную передавалось значение ячейки B1 и так далее. »
Используйте метод .Offset() класса .Range. Мне только непонятно, зачем Вы дважды открываете одну и ту же Рабочую книгу?!




© OSzone.net 2001-2012