Печать данных на принтер как в файл (и *.PRN файлов)

Программирование на Visual Basic for Applications
Vitaly1
Брехман
Брехман
 
Сообщения: 1578
Зарегистрирован: 30.12.2002 (Пн) 16:35
Откуда: Russia, Mosсow

Печать данных на принтер как в файл (и *.PRN файлов)

Сообщение Vitaly1 » 09.06.2003 (Пн) 12:34

Есть такой старый способ открыть файл для записи с именем "PRN" и посылать в него данные.
Попробовал это способ в VBA, получилось, но не совсем.
Если посылать Print-ом построчно, то хорошо.
Но если по байтно, Print-ом с точкой с запятой или Put-ом файл типа *.PRN то на матречном принтере дома когда переполняется буффер принтера, выводится сообщение об ощибке:"Переполнение диска". и файл *.PRN не печатается до конца.
На лазерном,сетевом принтере такой ошибки не возникает,
Почему?
Что сделать что бы устранить ошибку, и распечатать полностью файл *.PRN? :?:

corgi
ToyMan
ToyMan
 
Сообщения: 1367
Зарегистрирован: 01.10.2002 (Вт) 9:59
Откуда: Россия, Москва

Сообщение corgi » 09.06.2003 (Пн) 13:58

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

ASD
Модератор
Модератор
Аватара пользователя
 
Сообщения: 1758
Зарегистрирован: 07.12.2001 (Пт) 21:08
Откуда: Russia

Сообщение ASD » 09.06.2003 (Пн) 15:33

На счет 2 метров это ты загнул.
Есль лазерники в большенстве своем у которых до 1 мега.

А не печатает... может чтото в сторону PostScript копать... хотя врятле..
Moderator VBStreets
---------------------------

syrok
Начинающий
Начинающий
 
Сообщения: 24
Зарегистрирован: 07.06.2002 (Пт) 18:21
Откуда: Ukraine

Сообщение syrok » 09.06.2003 (Пн) 16:13

На счёт матричного: у него действительно буфер маленький,
В досе помню над было проверять ответ принтера о готовности и только тогда передавать ему данные, а это где-то раз в секунду было(а то и реже), под виндой этим драйвер вроде занимается, может что-то с ним?.
Лазерный принтер: у меня 8М буфер.(на старых конечно меньше)
Syrok

corgi
ToyMan
ToyMan
 
Сообщения: 1367
Зарегистрирован: 01.10.2002 (Вт) 9:59
Откуда: Россия, Москва

Сообщение corgi » 10.06.2003 (Вт) 8:59

такой совет создай файл с другим именем запиши все туда переименуй и скопируй на принтер командой "copy file.prn prn"
Ничто так не ограничивает полёт мысли программиста, как компилятор

Vitaly1
Брехман
Брехман
 
Сообщения: 1578
Зарегистрирован: 30.12.2002 (Пн) 16:35
Откуда: Russia, Mosсow

Сообщение Vitaly1 » 11.06.2003 (Ср) 13:17

Corgi
Примерно так я и делал через команду Shell.
Но вот беда, когда макрос запускаешь из Word он ничего на принтер командой Copy не выводит, а если выполнять программу по шагово, то все нормально из Shell copy работает. (команду copy запускаю от command.com)

Vitaly1
Брехман
Брехман
 
Сообщения: 1578
Зарегистрирован: 30.12.2002 (Пн) 16:35
Откуда: Russia, Mosсow

Сообщение Vitaly1 » 11.06.2003 (Ср) 13:25

syrok
А как проверять готовность принтера?


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 50

    TopList