Распечатайте скрытый лист Excel из нескольких рабочих книг с помощью Powershell - PullRequest
0 голосов
/ 18 октября 2018

У меня есть ежемесячное задание на печать некоторых данных для чистого учета.эти данные находятся в некоторых книгах Excel на скрытом листе, так как теперь мне нужно открыть книгу, открыть лист, распечатать и снова спрятать.

Я бы хотел автоматизировать эту задачу.

Все рабочие книги находятся в одном каталоге

У меня есть скрипт Powershell, который может печатать все, что в одном каталоге, но я не знаю, как нацелить конкретный лист, не говоря уже о скрытом листе

Код для печати из одного каталога:

$ files = Get-ChildItem «Y: \ Booking \ Send *. *»

foreach ($file in $files){
   start-process -FilePath $file.fullName -Verb Print 
}

как мне это сделать

1 Ответ

0 голосов
/ 18 октября 2018

Ниже приведена распечатка скрытого листа одной книги Excel, которую можно расширить для многократной печати в цикле.

При этом будет использоваться принтер по умолчанию, установленный в Windows.

$FilePath = Get-ChildItem "Y:\Booking\November\*.xls" 
$HiddenSheet = "Administration"
$xl = New-Object -ComObject Excel.Application
$xl.Visible = $False

foreach ($file in $FilePath){
    $wb = $xl.Workbooks.Open($file) 
    $ws = $wb.WorkSheets.Item($HiddenSheet) 
    $ws.Visible = $True 
    $ws.PrintOut() 
    $wb.close($false) 
}

$xl.quit()

Чтобы распечатать скрытый лист, его необходимо установить видимым, сценарий обрабатывает это, а затем закрывает книгу и не сохраняет изменения.

Вы должны объявить имя $скрытый лист, поэтому, если имя отличается в каждой книге, я бы предложил создать CSV с путем к файлу и именем листа, чтобы их можно было соответствующим образом обработать и обработать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...