Печать на заданный принтер с выводом диалога свойств - VB
Формулировка задачи:
Есть файл file.ext , для него определена в системе ф-ция печать, то бишь printto
В приложении vb определена кнопка печать (конкретный файл выбирается)
Но хочется вывести диалоговое окно(стандартное) печати, выбрать принтер и какие-то его свойства и напечатать.
Ну понятно что
CommonDialog1.ShowPrinter
мне такое окно предоставит, ну получу я структуру "как печатать" с выбором принтера и т.п.
А как дальше это увязать с печатью, не знаю.
Максимум чего я смогу передать в shellexecute(..."printto") это имя принтера, а я м.б. хочу в альбомной ориентации напечатать, или только первую страницу.
Причем в своем приложение я документ ни в каком контроле не открываю.
Как быть.
Т.е. надо систему заставить распечатать заданный файл на заданный принтер заданным образом. (Какое приложение отвечает за печать, т.е. printto системе известно).
В приложении vb определена кнопка печать (конкретный файл выбирается)
OK, здесь все работает, умею слава богу.
Но хочется вывести диалоговое окно(стандартное) печати, выбрать принтер и какие-то его свойства и напечатать.
Ну понятно что
CommonDialog1.ShowPrinter
мне такое окно предоставит, ну получу я структуру "как печатать" с выбором принтера и т.п.
А как дальше это увязать с печатью, не знаю.
Максимум чего я смогу передать в shellexecute(..."printto") это имя принтера, а я м.б. хочу в альбомной ориентации напечатать, или только первую страницу.
Причем в своем приложение я документ ни в каком контроле не открываю.
Как быть.
Т.е. надо систему заставить распечатать заданный файл на заданный принтер заданным образом. (Какое приложение отвечает за печать, т.е. printto системе известно).
Решение задачи: «Печать на заданный принтер с выводом диалога свойств»
textual
Листинг программы
<font color="blue">On</font> <font color="blue">Error</font> <font color="blue">Resume</font> <font color="blue">Next</font> <font color="00AA00">'это на случай ели принтеров вообще нет.</font> DefPrinter = <font color="teal">""</font> xNum = <font color="darkblue"><b>0</b></font> DefPrinter = Printer.DeviceName <font color="blue">For</font> <font color="blue">Each</font> x <font color="blue">In</font> Printers <font color="blue">If</font> x.DeviceName = DefPrinter <font color="blue">Then</font> FormPrintTo.ListPrinters.ListItems.Add , x.DeviceName, x.DeviceName, <font color="teal">"PrinterDef"</font>, <font color="teal">"PrinterDef"</font> <font color="blue">Else</font> FormPrintTo.ListPrinters.ListItems.Add , x.DeviceName, x.DeviceName, <font color="teal">"Printer"</font>, <font color="teal">"Printer"</font> <font color="blue">End</font> <font color="blue">If</font> xNum = xNum + <font color="darkblue"><b>1</b></font> <font color="blue">Next</font>
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д