Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Imprimir un Archivo de word con CreateOleObject (https://www.clubdelphi.com/foros/showthread.php?t=70892)

berna 18-11-2010 00:31:00

Imprimir un Archivo de word con CreateOleObject
 
Hola Buenas Tardes...

Tengo un Proceso el cual manda una serie de parametros a un documento base (Creado con anterioridad con campos de formulario) en word pero hasta ahora no he encontrado los parametros para mandar a imprimir este documento sin que el usuario vea dicho documento. este es el codigo que tengo:

var
Archivo,cadAux : String;
Word,Doc : Variant;
begin
try
Archivo:='C:\contrato.Doc';
Word:=CreateOleObject('word.application');
Word.Documents.Open(Archivo);
Doc:=Word.ActiveDocument;
.....
......
...... Serie de Parametros
// Word.Visible:=True;
Word.print(Archivo);
// Word.Documents.close(false);
except
.....
.....
//Word.Print;
end;

espero me puedan ayudar, me imagino que es algo sencillo y que estoy dejando ir...........Gracias.....

Neftali [Germán.Estévez] 18-11-2010 10:48:56

Por favor, utiliza TAG's cuando añadas código delphi.

En cuanto a la duda, es un código antiguo (y me temo que no funcionará con todas las versiones de Word), pero yo usaba algo similar a esto:

Código Delphi [-]
   ...
    if( VarIsEmpty( WinWord ) ) then begin
      WinWord := CreateOleObject('Word.Basic');
      ...
      WinWord.FileOpen(FFileName);
      ...
      // combinar corrrespondencia (esto no te hace falta)
      WinWord.MailMergeToDoc;
      ...
      // imprimir
      WinWord.FilePrint(,,,,,,,Self._FCopias);
      WinWord.FileCloseAll(2);

berna 18-11-2010 17:22:16

Gracias....
 
Con esto que me mencionas si necesaria la forma de combinar informacion
ya que con el codigo que utilizo uso las siguiente linea para envirle los datos a la plantilla



Código Delphi [-]
Doc.FormFields.Item(NomVariable).Result:=Datos;

Neftali [Germán.Estévez] 18-11-2010 17:39:09

No, el tema de la combinación era algo personal mío. No es necesario que lo hagas.
Sólo coge la parte de impresión.


La franja horaria es GMT +2. Ahora son las 21:37:27.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi