Powershell: автофильтр на основе значения столбца - PullRequest
0 голосов
/ 20 ноября 2018

Я видел несколько постов по этому вопросу, но все они, похоже, используют один и тот же пример, поэтому я не уверен, как код будет отличаться от сценария к сценарию:

Вот что у меня есть:

$rng = $sheet.Cells.Item(1,7).EntireColumn #choose all columns from 1 to 7
    $rng.select | Out-Null # select this range
    $filterValue = @("TRUE") # create filter value, that is only choose when value matches "TRUE"
    $xlFilterValues = 7 # "found in MS documentation", copied not sure what this does
$objExcel.Selection.AutoFilter(7,$filterValue, $xlFilterValues) # here the first parameter value of 7 is the column I am trying to filter on


$rowMax = ($sheet.FilteredRange.Rows).count
 $colMax = ($sheet.FilteredRange.Columns).count

Хотя мой скрипт не падает или что-то еще, но похоже, что фильтр не работает.У меня есть около тысячи строк, где столбцы фильтрации имеют значения, установленные на «ИСТИНА», «ЛОЖЬ» или Пробел .

Мое ожидание:

будет выводить 7 для$ colMax и 40 (количество строк, где столбец 7 имеет значение «ИСТИНА») для $ rowMax.

Однако я получаю 0 для $rowMax.

1 Ответ

0 голосов
/ 31 января 2019

Я хотел открыть файл с разделителями табуляции и столбец фильтра M для заданного значения

$column = 13 # column M
$filename = "C:\temp\terminations.txt"
$criteria "Voluntary"
$Excel = New-Object -ComObject Excel.Application
$Excel.Visible = $true
$workbook = $Excel.Workbooks.Open($filename)
$worksheet = $workbook.Worksheets.Item(1)
$usedrange = $worksheet.UsedRange
$usedrange.EntireColumn.AutoFilter()
$usedrange.AutoFilter($column, $criteria)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...