PDA

Ver la Versión Completa : En Que impresora imprimir?


Waldo
05-10-2012, 19:23:50
Hola, tal, tengo una pregunta desde mi aplicación ya puedo crear mostrar guardar etc un documento en word, incluso mandarlo a imprimir, el problema es que word toma la impresora predeterminada, con que código puedo decirle a word en que impresora debe imprimir?

Saludos y Gracias

ecfisa
05-10-2012, 21:08:43
Hola Waldo.

No trabajo con Word, pero a ver si esto que encontré te sirve de ayuda:

var
Word, Doc, Dlg: OleVariant;
begin
// Starting MS Word ...
Word := CreateOleObject('Word.Application');
Dlg := Word.Dialogs.Item(wdDialogFilePrintsetup);
Dlg.Printer := 'PrinterName';
Dlg.DoNotSetAsSysDefault := True;
Dlg.Execute;
Word.Documents.Open('c:\myfilename.doc');
end;

(Tomado de aquí (http://www.delphigroups.info/2/9/939248.html))

Por otro lado y según leí, la propiedad ActivePrinter también lo haría, pero cambiando la impresora por defecto del sistema, supongo que tendría que ser algo por el estilo:

uses Printers;
...
begin
if PrintDialog1.Execute then
WordApplication1.ActivePrinter:= Printer.Printers[Printer.PrinterIndex];
...
end;

Pero no puedo comprobarlo porque al no tener Word instalado me genera el error "Clase no registrada"

Saludos. :)

Waldo
05-10-2012, 21:24:42
Gracias lo solucione con esto:
word.ActivePrinter:= g.IMPRESORALASER;