Печать MS Word документа из командной строки

Developer 6i
Обычно для пользователя при формировании различного рода документов в формате MS Word формировались файлы и просто открывались. Для этого вызывалась процедура host и передавалась строчка запуска. Например, фрагмент кода cmd  := 'cmd /c start winword.exe "'||pi_fname||'"'; host(cmd); Однако возникла задачка массовой печати. Т.е. есть подготовленные файлы, и их надо, например, при нажатии на кнопку распечатать на принтере. Естественно, пользователь не должен открывать, печатать, закрывать каждый документ. В итоге вызов видоизменился до следующего cmd  := 'cmd /c start /wait winword.exe "'||pi_fname||'" /q /n /mFilePrintDefault /mFileSave /mFileExit'; host(cmd); Что добавилось start /wait - дает нам возможность запустить приложение и ждать его завершения. В нашем случае мы должны в определенном порядке получать на принтере документы, т.е. они должны и попадать в очередь последовательно, а без ожидания маленькие документы могут встать в очередь быстрее…
Read More

Создание документов с помощью шаблонов (.dot) в MS Office 2007 и MS Office 2010

Developer 6i
В самых первых проектах формирование MS Word документов было организовано с использованием OLE-технологии (использовался Office XP). Это удобно: создаем шаблон (.dot), а дальше программно создаем документ на основании этого шаблона и подставляем в него необходимые данные. Соответственно, шаблоны хранятся на сети, в определенной папке. При переходе на MS Office 2007 возникла проблема: не формировался документ на основании шаблона. Было выяснено, что виной всему было наличие в вызове полного пути к шаблону. Решилась данная проблема настройкой самого MS Word, для этого в настройках MS Word переопределяем путь к шаблонам (где на сети лежат .dot-файлы) Открываем MS Word Создаем пустой документ Нажимаем кнопку "Office" Выбираем «Параметры Word» Выбираем «Дополнительно» Нажимаем кнопку «Расположение файлов…» Изменяем путь к общим шаблонам Успешно выходим Если будет выводиться ошибка о невозможности прочитать/записать шаблон Normal.dotm, то надо указать/изменить…
Read More