Как распечатать много файлов excel не открывая
Перейти к содержимому

Как распечатать много файлов excel не открывая

  • автор:

Печать листа или книги

Вы можете печатать листы целиком или частично, а также целые книги по одной или сразу несколько. Можно также печатать выделенные фрагменты нескольких листов одновременно. Если данные, которые нужно напечатать, находятся в таблице Excel, можно просто напечатать таблицу Excel.

Печать части листа, всего листа или всей книги

  1. Выполните одно из указанных ниже действий.
    • Чтобы напечатать часть листа, щелкните лист и выделите диапазон данных, которые нужно напечатать.
    • Чтобы напечатать весь лист, щелкните лист или ярлычок листа.
    • Чтобы напечатать книгу, щелкните любой из ее листов.
  2. В меню Файл выберите элемент Печать.
  3. В меню Принтер выберите нужный принтер.
  4. По умолчанию печатаются все активные листы. Чтобы изменить диапазон данных для печати, выберите Показать подробности.
  5. В раскрывающемся меню Печать выберите подходящий вариант (Выделение, Активные листы или Вся книга) и нажмите кнопку Печать.

Печать сразу нескольких листов

  1. Выделите листы, которые нужно напечатать.
Чтобы выделить Необходимые действия
Несколько смежных листов Щелкните ярлычок первого листа. Удерживая нажатой клавишу SHIFT, щелкните ярлычок последнего листа, который нужно выделить.
Несколько несмежных листов Щелкните ярлычок первого листа. Удерживая нажатой клавишу COMMAND, щелкните ярлычки остальных листов, которые нужно выделить.
Все листы книги Удерживая нажатой клавишу CONTROL, щелкните ярлычок листа и в контекстном меню выберите команду Выделить все листы.

Примечание: Когда выделено несколько листов, в строке заголовка вверху листа появляется надпись [Группа]. Чтобы отменить выделение нескольких листов книги, щелкните любой невыделенный лист. Если невыделенных листов нет, удерживая нажатой клавишу CONTROL, щелкните ярлычок выделенного листа и в контекстном меню выберите команду Разгруппировать листы.

Печать выделенных фрагментов с нескольких листов одновременно

  1. На каждом листе выделите диапазон данных, которые требуется напечатать.
  2. В меню Файл выберите элемент Печать.
  3. Выберите Показать подробности.
  4. В раскрывающемся меню Печать выберите вариант Выделение и нажмите кнопку Печать.

Печать нескольких книг одновременно

Примечание: Все файлы книг, которые нужно напечатать, должны находиться в одной папке.

  1. В меню Файл выберите команду Открыть.
  2. Для смежных файлов: удерживая нажатой клавишу SHIFT, выделите имена всех книг, которые нужно напечатать. Для несмежных файлов: удерживая нажатой клавишу COMMAND, выделите имена всех книг, которые нужно напечатать.
  3. В меню Файл выберите элемент Печать.

Печать таблицы Excel

  1. Чтобы активировать таблицу, щелкните одну из ее ячеек.
  2. В меню Файл выберите элемент Печать.
  3. Выберите Показать подробности.
  4. В раскрывающемся меню Печать выберите вариант Выделение и нажмите кнопку Печать.

Другие параметры печати

  • В диалоговом окне Печать выберите показать подробности, чтобы напечатать документ в формате PDF или выбрать страницы для печати, параметры обработки бумаги, поля и масштаб.
  • Вкладка «Разметка страницы» на ленте содержит дополнительные параметры настройки страницы и печати, включая ориентацию страницы, размер бумаги и печать линий сетки и заголовков.

См. также

Печать части листа, всего листа или всей книги

  1. Выполните одно из указанных ниже действий.
    • Чтобы напечатать часть листа, щелкните лист и выделите диапазон данных, которые нужно напечатать.
    • Чтобы напечатать весь лист, щелкните лист или ярлычок листа.
    • Чтобы напечатать книгу, щелкните любой из ее листов.
  2. В меню Файл выберите элемент Печать.
  3. Во всплывающем меню Принтер выберите нужный принтер.
  4. Рядом с кнопкой Печататьчто выберите параметр, соответствующий тому, что нужно напечатать(Выделение,Активные листы или Вся книга),а затем нажмите кнопку Печать.

Печать сразу нескольких листов

  1. Выделите листы, которые нужно напечатать.
Чтобы выделить Необходимые действия
Несколько смежных листов Щелкните ярлычок первого листа. Удерживая нажатой клавишу SHIFT, щелкните ярлычок последнего листа, который нужно выделить.
Несколько несмежных листов Щелкните ярлычок первого листа. Затем, удерживая нажатой кнопку CONTROL, щелкните якладки других листов, которые нужно выбрать.
Все листы книги Удерживая нажатой клавишу CONTROL, щелкните ярлычок листа и в контекстном меню выберите команду Выделить все листы.

Примечание: Когда выделено несколько листов, в строке заголовка вверху листа появляется надпись [Группа]. Чтобы отменить выделение нескольких листов книги, щелкните любой невыделенный лист. Если невыделенных листов нет, удерживая нажатой клавишу CONTROL, щелкните ярлычок выделенного листа и в контекстном меню выберите команду Разгруппировать листы.

Печать выделенных фрагментов с нескольких листов одновременно

  1. На каждом листе выделите диапазон данных, которые требуется напечатать.
  2. В меню Файл выберите элемент Печать.
  3. Рядом с кнопкой Печатать нажмитекнопку Выделениеи выберите печать.

Печать нескольких книг одновременно

Примечание: Все файлы книг, которые нужно напечатать, должны находиться в одной папке.

  1. В меню Файл выберите команду Открыть.
  2. Удерживая нажатой кнопку CONTROL, щелкните имя каждой книги, которую нужно напечатать.
  3. В меню Файл выберите элемент Печать.

Печать таблицы Excel

  1. Чтобы активировать таблицу, щелкните одну из ее ячеек.
  2. В меню Файл выберите элемент Печать.
  3. Рядом с кнопкой Печатать нажмитекнопку Выделениеи выберите печать.

Совет: Вкладка «Макет» на ленте содержит дополнительные параметры настройки страницы и печати, в том числе ориентацию страницы, а также их страницы.

Массовая печать в Windows

Иногда нужно быстро распечатать много картинок с котиками документов, а открывать для этого каждый файл совсем не хочется. Первым делом напрашивается использование контекстного меню проводника, но у этого способа есть свои ограничения и нюансы. Поэтому пришлось искать альтернативу. За подробностями — прошу под кат.

Анализируем ситуацию и собираем данные

Тема пакетной печати не раз освещалась в трудах великих учёных интернет-статьях. Например, в этой и этой.

Мы же начнем с выяснения того, какой функционал нужен конечным пользователям. В результате общения с коллегами получися такой список:

  • печатать нужно только XML-файлы;
  • форматирование для XML не требуется;
  • на бумаге, помимо содержимого, должно быть указано и имя печатаемого файла;
  • файлы должны быть отсортированы по имени, чтобы было удобно подшивать бумажные листы в архив.

Но у такого способа есть, как минимум, два недостатка:

  1. нельзя напечатать больше 15 файлов за раз;
  2. файлы печатаются в случайном порядке (возможно, логика все же есть, но я ее не нашел), а не так, как они отсортированы в проводнике.

Выбираем инструмент и разрабатываем решение

Примечание. Чтобы не переводить бумагу, на этапе подготовки и тестирования скрипта удобно использовать виртуальный принтер. Меня устроил штатный Microsoft XPS Document Writer, но есть еще PDF24 Creator, doPDF, CutePDF Writer — как говорится, на вкус и цвет…

В качестве языка был выбран PowerShell. В базовой комплектации скрипт выглядит так:

Вариант 0

$FolderToPrint = "\\server\share\Folder" $FileMask = "*.xml" $FolderToPrint | Get-ChildItem -File -Filter $FileMask | Sort-Object Name | ForEach-Object < Write-Output ("Печать файла `"" + $_.FullName + "`"") Start-Process -FilePath notepad -ArgumentList ("/P `"" + $_.FullName + "`"") -Wait >

Печать выполняется средствами штатного блокнота Windows (чтоб не простаивал без дела).
Как видно из 3-й строки, сортировка в примере происходит по имени файла (Name). Вместо этого можно взять за основу размер (Length) или дату изменения (LastWriteTime). Если вам требуется что-то более экзотичное, можно зайти сюда.

Для сортировки в обратном порядке у командлета Sort-Object есть ключ -Descending.

В этом варианте печать идет на принтер по умолчанию, и нас такое поведение устроило. Если же нужно печатать на принтер, отличный от дефолтного, у блокнота есть параметр /PT.

Соответственно, код примет следующий вид:

 $PrinterName = "\\server2\Network Printer" Start-Process -FilePath notepad -ArgumentList ("/PT `"$PrinterName`" `"" + $_.FullName + "`"") -Wait

Аналогично вместо блокнота можно поэксплуатировать любую другую программу в зависимости от того, какой формат файлов нужно печатать. Главное — чтобы она поддерживала печать через интерфейс командной строки.

Примечание. Если будете приручать Adobe Reader, имейте в виду этот старый баг. В нашем окружении он все еще проявляется, возможно, вам повезет больше. А еще есть хорошая статья, посвященная печати PDF из PowerShell.

Если же вам на выходе нужен только «голый» текст из обычного текстовика, то 5-я строка варианта 0 примет такой вид:

 Get-Content $_.FullName | Out-Printer -Name $PrinterName 

Для печати на дефолтный принтер параметр -Name нужно опустить.

Для нашей задачи требовалась печать файлов из нескольких расположений. Немного дополнив вариант 0, получаем

Вариант 1

$FolderToPrint = @( "\\server1\share\Folder1", "\\server1\share\Folder2", "\\server1\share\Folder3" ) $FileMask = "*.xml" $ErrorActionPreference = "Stop" Try < $FolderToPrint | Get-ChildItem -File -Filter $FileMask | Sort-Object Name | ForEach-Object < Write-Output ("Печать файла `"" + $_.FullName + "`"") Start-Process -FilePath notepad -ArgumentList ("/P `"" + $_.FullName + "`"") -Wait >> Catch

Для приличия добавлена функция обработки исключений. И в случае, если, например, папка, из которой печатаются файлы, стала недоступной, то выполнение печати прервется и пользователю будет выведено соответствующее уведомление. Кстати, замечено, что блокнот возвращает в exit-коде 0 даже при попытке распечатать несуществующий/недоступный файл, но в GUI при этом ругается.

Опробовав вариант 1, пользователи попросили дать возможность выбора папки и конкретных файлов в ней, поэтому было добавлено немного интерактивности в виде диалогового окна выбора файлов. Так появился

Вариант 2

Add-Type -AssemblyName System.Windows.Forms | Out-Null $OpenFileDialog = New-Object System.Windows.Forms.OpenFileDialog $OpenFileDialog.InitialDirectory = "\\server\share" $OpenFileDialog.Multiselect = $True $OpenFileDialog.Filter = "XML-файлы (*.xml)|*.xml|Все файлы (*.*)|*.*" $OpenFileDialog.ShowHelp = $true $OpenFileDialog.ShowDialog() | Out-Null $FilesToPrint = $OpenFileDialog.FileNames | Sort-Object ForEach ($FullFileName in $FilesToPrint) < Write-Output "Печать файла `"$FullFileName`"" Start-Process -FilePath notepad -ArgumentList ("/P `"$FullFileName`"") -Wait >

Теперь при запуске получаем привычное окно проводника Windows с удобным выбором нужных файлов:

Подробнее о работе с диалоговым окном открытия файлов можно почитать в официальной документации, а кто хочет узнать больше про GUI-зацию PowerShell, легко найдет много материала в сети, есть даже онлайн-конструктор форм.

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

При запуске кода из ISE диалоговое окно выбора файлов выводится на заднем плане (Ctrl+Tab в помощь), но из командной строки все работает как положено. Также обратите внимание, что свойство ShowHelp должно быть $true, чтобы обойти этот баг.

Еще хотелось бы обратить внимание на свойство InitialDirectory. Кэп подсказывает, что оно определяет путь к папке, которая будет выбрана по умолчанию при запуске скрипта. Но, учитывая, что проводник «запоминает» последнее выбранное расположение, которое было указано пользователем в диалоге выбора файлов, InitialDirectory может пригодиться только при первом запуске скрипта.

Вариант 2 полностью подошел нашим пользователям, поэтому на нем мы и остановились. Но если вам нужен вариант с дамами и преферансом интерактивностью и сортировкой, отличной от имени (например, по дате изменения), это тоже реализуемо. Получаем

Вариант 3

Add-Type -AssemblyName System.Windows.Forms | Out-Null $OpenFileDialog = New-Object System.Windows.Forms.OpenFileDialog $OpenFileDialog.InitialDirectory = "\\server\share" $OpenFileDialog.Multiselect = $True $OpenFileDialog.Filter = "XML-файлы (*.xml)|*.xml|Все файлы (*.*)|*.*" $OpenFileDialog.ShowHelp = $true $OpenFileDialog.ShowDialog() | Out-Null $SelectedFiles = $OpenFileDialog.FileNames #Если ничего не выбрано, завершаем работу If (!($SelectedFiles)) < Break >#На основании полного имени выбранного файла определяем выбранную папку $SelectedDir = (Split-Path -Parent $OpenFileDialog.FileName) #Получаем список всех файлов в выбранной папке $FilesToPrint = Get-ChildItem -Path $SelectedDir -Force | #отбираем только те из них, которые были выбраны в диалоговом окне Where-Object | #и сортируем Sort-Object -Property LastWriteTime ForEach ($File in $FilesToPrint) < $FullFileName = $File.FullName Write-Output "Печать файла `"$FullFileName`"" Start-Process -FilePath notepad -ArgumentList ("/P `"$FullFileName`"") -Wait >

Т.к. из объекта $OpenFileDialog нельзя напрямую извлечь такие параметры, как размер или дату создания файла, то мы с помощью командлета Get-ChildItem получаем список всех файлов в папке, выбранной пользователем, а потом оставляем только те из них, которые были выбраны пользователем, и сортируем их в нужном нам виде.

Отдаем в продакшн

Убедившись, что всё работает как надо, кладем скрипт в сетевую папку и выводим пользователям ярлык на рабочий стол.

А чтобы наш маленький беззащитный скрипт не обижали злые Execution Policies, прячем его в такую скорлупу:

powershell.exe -NoLogo -ExecutionPolicy Bypass -File "\\server\share\Scripts\BulkPrint.ps1"

Или можно обернуть в теплый ламповый батник.

Среди прочего, в корпоративной среде запуску скрипта могут мешать суровые Software Restriction Policies и безжалостный AppLocker, а также другое защитное ПО, но это уже выходит за рамки статьи.

Можно добавить лоска, установив красивый значок для ярлыка. Я выбрал такой:

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

Итог

Такое бывает, если выкатить без предварительного тестирования.

А у нас будет вот так:

И крамольная мысль напоследок: а что, если подумать в другом направлении и вместо всего описанного выше пообщаться с начальством и перестроить рабочий процесс?

  • Системное администрирование
  • PowerShell
  • IT-инфраструктура
  • Серверная оптимизация
  • Серверное администрирование

Как напечатать сразу несколько документов c помощью Print Conductor

Вы можете легко и быстро напечатать ваши документы, следуя этой простой пошаговой инструкции:

  1. Запустите программу Print Conductor
  2. Добавьте файлы в список документов
  3. Выберите нужный принтер
  4. Нажмите на кнопку “Старт печати”
  • Главная
  • Обзор программы
  • Возможности
    • Поддерживаемые форматы файлов
    • История версий

    покупка

    Иногда может потребоваться распечатать несколько книг. Печатать несколько книг одну за другой будет утомительно. Как насчет того, чтобы настроить печать нескольких книг один раз, чтобы распечатать несколько книг? Эта статья поможет вам полностью распечатать несколько книг одновременно. Независимо от того, находятся ли книги в одном или нескольких каталогах.

    Печатать активные рабочие листы из нескольких книг одновременно

    Если у вас есть несколько книг, содержащих много листов, но вам просто нужно распечатать активный рабочий лист каждой книги, вы можете решить эту проблему, выполнив следующие действия:

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

    2. Перейдите в папку, содержащую книги, которые вы хотите распечатать, выберите все книги и щелкните правой кнопкой мыши, выберите Печать / PDF из контекстного меню см. снимок экрана:

    doc-print-multi-workbooks1

    Затем распечатываются все активные листы в открытых книгах.

    Ноты:

    1. Все файлы книги, которые вы хотите распечатать, должны находиться в одной папке.

    2. Таким образом не распечатать книги целиком. Он может печатать только активные рабочие листы каждой книги.

    Распечатать все листы нескольких книг с кодом VBA

    Если вы хотите распечатать все рабочие листы из нескольких книг, вышеуказанный метод не будет работать, но следующий короткий код VBA может помочь вам быстро распечатать их.

    1. Удерживайте ALT + F11 ключи, и он открывает Microsoft Visual Basic для приложений окно.

    2. Нажмите Вставить > Модулии вставьте следующий код в окно модуля.

    Sub PrintAllSheets ()
    Dim wb как рабочая книга, sht как объект
    Для каждого ББ в Excel.
    За каждую штуку в wb.heets
    шт.PrintOut
    Следующий дерьмо
    Следующий wb
    End Sub

    3. Затем нажмите клавишу F5, чтобы запустить код, и все рабочие листы в книгах будут напечатаны.

    Печать определенных или всех листов нескольких книг с помощью Kutools for Excel

    Если вы хотите распечатать указанные листы в выбранных книгах из папки или нескольких папок, указанные выше методы не эффективны для вас. Но Kutools for Excel может это сделать! Kutools для Excel Мастер печати нескольких книг инструмент может полностью распечатать все или отдельные книги, независимо от того, находятся ли они в одной папке или в разных папках.

    Kutools for Excel включает более 300 удобных инструментов Excel. Бесплатная пробная версия без ограничений в течение 30 дней. Получить сейчас.

    После установки Kutools for Excel, сделайте следующее:

    1. Нажмите Предприятие > Инструменты для печати > Мастер печати нескольких книг. Смотрите скриншот:

    doc-print-multi-workbooks2

    2. На шаге 1 Мастер печати нескольких книг, выберите тип файлов для печати, если вы выбрали Все файлы для печати находятся в одном каталоге, на шаге 2 мастера щелкните ЛИСТАТЬ СПИСКИ кнопку, чтобы выбрать папку, содержащую книги, которые вы хотите распечатать, затем выберите тип файлов, вы можете печатать файлы xls, csv, txt, prn или и то, и другое, вы также можете указать другой формат файла из нужной вам спецификации.

    doc-print-multi-workbooks3
    doc-print-multi-workbooks4

    Если вы выберете Файлы для печати находятся в нескольких каталогах, на шаге 2 мастера щелкните Добавить файлы кнопку, чтобы добавить книги в разные каталоги.

    doc-print-multi-workbooks5
    doc-print-multi-workbooks6

    3. На шаге 3 мастера выберите тип печатного листа, вы можете использовать несколько типов печати:

    • • Полностью печатать книги целиком
    • • Печатать только рабочие листы
    • • Печатать только листы диаграмм
    • • Совместная печать рабочих листов и диаграмм
    • • Распечатайте определенные рабочие листы, проверьте рабочие листы, которые вы хотите распечатать, из правильного списка книг.

    doc-print-multi-workbooks7

    4. Нажмите Следующая на шаге 4 мастера и укажите необходимые параметры печати:

    • Опции : Тихий режим : Он не откроет файлы, которые будут напечатаны.
    • Создать сводный отчет : Будет создан отчет, содержащий информацию о файлах, которые нужно распечатать, а также список возникших ошибок.
    • Отключить автоматические макросы : Автоматические макросы не будут выполняться в открытых книгах.
    • Пароль : Запрашивать пароли : Появится диалоговое окно для ввода пароля для печати файлов, для открытия которых требуется пароль.
    • Используйте этот пароль : Введите пароль, чтобы распечатать файлы, для открытия которых требуется пароль.
    • Ссылки и удаленные ссылки : Он обновит ссылки и удаленные ссылки при открытии каждого файла.

    doc-print-multi-workbooks8

    5. Нажмите Завершить Нажмите кнопку, чтобы начать печать, она полностью распечатает одну книгу за другой.

    Если вы хотите получить более подробную информацию об этой функции, нажмите Мастер печати нескольких книг.

    Статьи по теме:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *