Использование Powershell для фильтрации всех файлов Excel в папке - PullRequest
0 голосов
/ 27 февраля 2019

Я очень новичок в Powershell, но я надеюсь, что это что-то простое, и я только что получил фрагменты кода, соединенные неправильно.Я получаю ошибку запуска со следующим кодом, который, как я надеялся, будет циклически проходить по всем файлам в папке и подпапках и устанавливать фильтры для всех файлов там.Все файлы всегда будут .xlsx, если это поможет.

$ErrorActionPreference= 'silentlycontinue'
Write "Loading Files..."
$path = "C:\test"
$files = Get-ChildItem C:\test\*.xlsx
Write "Files Loaded."
ForEach ($file in $files)
{

## Instantiate the COM object
$excelObj = New-Object -ComObject Excel.Application

$excelWorkBook = $excelObj.Workbooks.Open($path)
$excelWorkSheet = $excelObj.WorkSheets.item("sheet1")
$excelWorkSheet.activate()

## Turn on auto-filter
$headerRange = $excelWorkSheet.Range("a1","z1").AutoFilter() | Out-Null

## close everything
$excelWorkBook.Save()
$excelWorkBook.Close()
$excelObj.Quit()

## make sure the process is really gone...
Get-Process | where {$_.Name -like "Excel*"} | % {
    $Id = $_.id
    if ((Get-WmiObject Win32_Process -Filter "ProcessID = '$id'" | select CommandLine) -like "*embed*")
    {
        Stop-Process -Id $id -WhatIf
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...