День добрый.
Можно ли настроить печать в Bat!'е так, чтобы при отправке письма на печать, на принтер выводился не только текст письма, но и вложенные файлы?
Заранее спасибо.
День добрый.
Можно ли настроить печать в Bat!'е так, чтобы при отправке письма на печать, на принтер выводился не только текст письма, но и вложенные файлы?
Заранее спасибо.
Общий ответ: нет, потому что если приложенный файл -- к примеру, документ Word, то откуда Бату знать, как его вообще печатать? Как мы все понимаем, документы Ворд умеет печатать (да и вообще открывать ) только сам Ворд.
С другой стороны, если приложение таково, что Бат его способен напечатать (например, картинки в HTML-письме), то Бат это добро и печатает.
С третьей стороны, если к текстовому письму приложена картинка, то зачем Бату ее печатать вообще? Бат -- специализированная программа для работы с почтой, а не с картинками -- любой хороший image viewer справится с этой задачей на порядок лучше, чем Бат.
Отсюда вывод: а _какие_, собственно, вложения Вы хотите научить Бат печатать вместе с текстом письма?
Файлы - таблицы Excel.
Задача состоит в следующем: почтовый клиент в автоматическом режиме проверяет по расписанию почту, находит по фильтру письма с определенного адреса, содержащие вложения, и отправляет на печать. Это мы так думаем на склад накладные отправлять.
В Bat'е я нашел реализацию всего вышеперечисленного, кроме вывода на печать Excel'евского вложения. Вот я и подумал, может я чего недоглядел?
Я уже объяснил, что печатать экселовские таблицы может только Эксел. Следовательно, лучшее, что можно сделать средствами Бата -- это автоматически сохранять эти самые таблицы в какую-нибудь директорию (фильтром). Дальнейшее -- вопрос по Экселю, а я мелкомягкий офис вообще не использую, так что тут Вам у Мелкософта надо спрашивать уже…
Но ведь вручную-то можно в окне сообщения выделить вложенный файл и пустить на печать! Bat на несколько секунд открывает окно Excel, пускает все хозяйство на печать, потом закрывает Excel… Значит, у Bat есть команда, реализующая это. А вот как ее добыть… не знаю. Может, припомните, а? =)
Это не команда. Это настройка из explorer-->folder options-->file types-->edit. Если там прописано действие на команду print, как это и есть в случае экселя, то эта фича работает. Нет -- так нет. Короче говоря, это не функция Бата, это функция операционной системы и самого экселя. Короче говоря, это становится вопросом не по Бату, а по Экселю -- спросите у мелкомягких
Ok. Спрошу.
А есть ли возможность вставки этой (теоретически узнанной мной) команды в Bat'овский скрипт? Что-нть типа "Attachement:<MSCOMMAND>". То есть что за команда и куда ее вставлять? =)
Спасибо заранее.
Только если Excel поддерживает командную строку. В эксплорере он настроен как DDE-вызов, этого Бат не умеет.
Из whatznew к 1.53Сообщение от Alexander Kiselev
Или это не то ?+ DDE server added for handling macros (currently, DDE macros are equal to command line parameters). DDE server name - "thebat", DDE conversation topic - "tbDDE".
Нашел программку для печати файлов MS Office из командной строки. Называется autoprn.
Похоже, придется не мучаться, а в фильтре поставить следующие действия:
- сохранить вложение в заданную папку
- запустить bat-файл (autoprn - все *.xls и *.doc файлы в папке - на печать, затем все *.xls и *.doc файлы - удалить)
Непонятно, правда, какой порядок действий у Бат-овского фильтра: сначала сохранить вложения, затем запустить внешнюю программу, или наоборот?