Как я могу автоматически печатать файлы электронной таблицы Excel?
Моя компания имеет компьютерные отчеты, которые выходят в виде электронных таблиц Excel, которые отправляются по электронной почте в отдел фактурирования. Они хотели бы, чтобы эти отчеты автоматически печатались по мере их получения.
Я уже нашел программу, которая автоматически загрузит вложения электронной почты, называемые Mail Attachment Downloader .
Теперь, в идеале, мне нужна программа, которая будет:
- Мой приятельский список в Excel ушел
- Альтернативные строки повторяющихся данных в Excel
- Копирование многострочного текста в одну ячейку в Excel
- Разделить ячейку Excel последним разделителем
- Как вы снимаете защиту макросов VBA для книги с поддержкой макросов, если вы забыли пароль?
- Сканирование выбранной папки для новых загружаемых электронных таблиц XLS.
- Распечатайте их.
- Избавьтесь от них (желательно, переместив их в другую папку).
Я знаю, что могу просто написать пакетный файл, чтобы позаботиться о # 3; И №1 действительно не нужно. Я мог бы просто запустить программу в определенное время, чтобы автоматически распечатывать любые файлы, которые она видит, а затем следовать ей с помощью командного файла, чтобы переместить файлы в другое место. Но найти программу, которая будет автоматически печатать электронные таблицы Excel, оказалось сложной задачей.
Я видел несколько макросов Excel, которые автоматически печатают электронную таблицу, но я хочу, чтобы она автоматически открывала их и печатала их самостоятельно.
Одна из проблем, с которыми я столкнулся, – это то, что у отдела выставления счетов нет Microsoft Excel. В ближайшем будущем у них будет компьютер с Excel 2010, но на данный момент он имеет только LibreOffice.
- Как я могу скрыть значки данных значения 0 в таблице Excel?
- Автозаполнение большого количества ячеек в Excel?
- Приложение для калькулятора Windows 10 не учитывает десятичный символ формата области
- MS Office 2007 - изменение языка отображения пользовательского интерфейса с немецкого языка на английский
- Как заставить Excel (и другие продукты Microsoft Office) прекратить открытие файлов в одном приложении?
- В Excel (или Numbers) какая формула может рассчитать количество дней в определенном месяце за 2 даты
- Как сделать радарную диаграмму пирога
- Как открыть CSV-файлы с разделителями с запятой в US-версии Excel
Я использовал AutoIt для создания сценария, который открывает Excel, открывает единственный файл (который начинается с «elec») в указанной папке (который начинается с «viat»), печатает его, закрывает Excel, а затем запускает пакетный файл для архивирования Файл просто напечатан.
Вот код файла сценария AutoIt. Некоторое время я стучал головой об этом, пока не обнаружил, что мне нужны команды сна, чтобы он работал правильно.
Run("C:\Program Files (x86)\Microsoft Office\Office14\Excel.exe") WinWaitActive("Microsoft Excel") Send("^o") WinWaitActive("Open") ControlClick("Open", "", 1148) Send("c:\viat{DOWN}{ENTER}") Sleep(1000) Send("elec") Sleep(1000) Send("{DOWN}{ENTER}") WinWaitActive("Microsoft Excel") Send("^p") Sleep(1000) Send("{ENTER}") Sleep(1000) WinClose("Microsoft Excel") Sleep(1000) Run(""C:\Users\Chris\Documents\ViaTrack Archives\archiver.bat"")
И вот код архива.бат:
move "C:\ViaTrack Reports\*.*" "C:\Users\Chris\Documents\ViaTrack Archives"
Это чрезвычайно упрощенное кодирование, но оно выполняет свою работу. Главный недостаток этого скрипта заключается в том, что он заставит Excel выкинуть ошибку, если файл не существует в папке. Тем не менее, он планируется запустить примерно через час после того, как файл, как правило, отправлен мне по электронной почте, чтобы разрешить любые неожиданные задержки.
Обычно файл отправляется по электронной почте в 5:40 по будням. Исторически это никогда не было до 5:45. Mail Attachment Downloader настроен для проверки новых вложений каждые 15 минут.
Сегодня утром все прошло отлично. Менеджер отдела биллинга был рад прийти и обнаружить, что ее отчет ждет ее на принтере, и ей не пришлось ее распечатывать.
Если Excel установлен в системе, из которой вы хотите их распечатать, вы можете использовать автоматизацию Excel из сценариев (из которой вы можете запускать или вместо своего пакетного файла).
Вот несколько примеров в VBScript и PowerShell:
VBscript .VBS (найдено здесь ):
Dim XLApp Dim XLWkbk Dim ObjArgs set ObjArgs = wscript.arguments if ObjArgs.count <> 1 then wscript.echo "Invalid passed arguments" wscript.quit end if Set XLApp = CreateObject("Excel.Application") XLApp.Visible = False Set XLWkbk = XLApp.Workbooks.Open(objargs(0)) XLWkbk.PrintOut XLWkbk.Close False XLApp.Quit Set XLWkbk = Nothing Set XLApp = Nothing Set ObjArgs = nothing
PowerShell .PS1:
$excelApp = New-Object -comobject Excel.Application if ($args.Length -lt 1) { Write-Host "Please provide full path and filename (ie: `"c:\books\excelfile.xlsx`")" Exit } $excelBook = $excelApp.Workbooks.Open($args[0]) $excelBook.PrintOut() $excelApp.Quit()