none
PowerShell. Печать всех документов ( Invoices ), соответствущих условию из заданной папки в формате .pdf, RRS feed

  • Вопрос

  • Всем доброго дня,

    Есть файл Excel в котором находятся два столбца. Один столбец счета-фактуры, другой столбец сумма выплаченная по этим счетам. Надо выбрать те счета, которые еще не оплачены, то есть ячейки в столбце  Values -пустые. Надо распечатать из заданной папки файлы  все файлы .pdf, соответвующие таким счетам-фактурам, Имена таких файлов состоят из номера счета плюс расширение, например 123456.pdf.

    Первую часть задачи практически 90 % для меня сделал Kazun. Теперь надо распечатать выбранные счета ( файлы .pdf )

    Скрипт на сегодняшний день выглядит так:

    $ex = New-Object -ComObject Excel.Application
    $ex.Visible = 1
    $wb = $ex.Workbooks.Open("C:\users\dov143\Documents\Template.xlsx")
    $ws = $wb.Worksheets.Item(1)
    
    $result = @()
    
    [int]$rmax = $ws.Range("G65536").End(-4162).Row
    $ws.Range("G3:G$rmax") | Where {$_.Value2} | Foreach {
        $col = $_.Column+1
        $row = $_.Row
        $val = $ws.Cells.Item($row,$col)
        
        $result += [pscustomobject]@{
            Invoices = [System.Convert]::ToString($_.Value2)
            Values = $val.Value2
        }
    }
        
    $result | Where {!$_.Values} | Foreach {$_.Invoices} | Start-Process -FilePath {s:\INVOICES\0070\$_.Invoices} –Verb Print
    
    $ex.Quit()


    ------------------------------------------------------------------------------------------------------------------------------

    При этом я получаю ошибку:

    Start-Process : This command cannot be run due to the error: The system cannot find the file specified.
    At C:\PowerShell\Scripts\Kazun-original.ps1:20 char:56
    + $result | Where {!$_.Values} | Foreach {$_.Invoices} | Start-Process -FilePath { ...
    +                                                        ~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : InvalidOperation: (:) [Start-Process], InvalidOperationException
        + FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.StartProcessCommand
     
    

    29 июля 2014 г. 11:36

Ответы

Все ответы