I am writing an application which will process data over night. When it's finished a report is printed out. I am wanting the report to be printed to 3 different printers on the same network. Is it possible to do this?

All three printers are installed on the pc.

Thanks in advance
PG

Recommended Answers

All 3 Replies

Have you played with the internal printer object, or printer collection? What you can do, is set the printer to a different index of the printer collection (behaves more like an array). An example would be:

' /* Set The Printer To the First Printer In the OS */
Set Printer = Printers(0)

' /* Code To Print The Document */
Printer.Print "change this to something to print your document"

' /* Set The Printer To the Second Printer In the OS */
Set Printer = Printers(1)

' /* Code To Print The Document */
Printer.Print "change this to something to print your document"

' /* Set The Printer To the Third Printer In the OS */
Set Printer = Printers(2)

' /* Code To Print The Document */
Printer.Print "change this to something to print your document"

The above code should print the line: change this to something to print your document to 3 different printers on the system (0, 1, 2). So all you have to do to change the printer is set Printer to whichever index of the printers array (collection).

Thanks, This has been a great help.

Cheers
PG :cheesy:

I have fought with the printer object for several years and this is the first simple method I have seen. Thanks so much!
Merry Christmas,
Jim

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.