FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Imprimir en Word
Saludos a todos:
Estoy haciendo replace en un documento de word y todo esta muy bien. Lo unico que me falta es encontrar la manera de mandarlo a imprimir, opcion que se me ha hecho muy dificil de encontrar. Aca les dejo un ejemplo del codigo que estoy utilizando para hacer los replaces a ver si algunos de ustedes ha trabajado con este o tiene alguna idea de como hacer el mandato de imprimir. Todas las formas que creo que son me han resultado erroneas. Aqui esta: Código Delphi [-] usesComObj;// Replace FlagstypeTWordReplaceFlags = set of (wrfReplaceAll, wrfMatchCase, wrfMatchWildcards);function Word_StringReplace(ADocument: TFileName; SearchString, ReplaceString: string; Flags: TWordReplaceFlags): Boolean;constwdFindContinue = 1; wdReplaceOne = 1; wdReplaceAll = 2; wdDoNotSaveChanges = 0; varWordApp: OLEVariant;beginResult := False;{ Check if file exists }if not FileExists(ADocument) then begin ShowMessage('Specified Document not found.'); Exit; end;{ Create the OLE Object }tryWordApp := CreateOLEObject('Word.Application');except on E: Exception do begin E.Message := 'Word is not available.'; raise;end;end;try{ Hide Word }WordApp.Visible := False;{ Open the document }WordApp.Documents.Open(ADocument);{ Initialize parameters}WordApp.Selection.Find.ClearFormatting; WordApp.Selection.Find.Text := SearchString; WordApp.Selection.Find.Replacement.Text := ReplaceString; WordApp.Selection.Find.Forward := True; WordApp.Selection.Find.Wrap := wdFindContinue; WordApp.Selection.Find.Format := False; WordApp.Selection.Find.MatchCase := wrfMatchCase in Flags; WordApp.Selection.Find.MatchWholeWord := False; WordApp.Selection.Find.MatchWildcards := wrfMatchWildcards in Flags; WordApp.Selection.Find.MatchSoundsLike := False; WordApp.Selection.Find.MatchAllWordForms := False; { Perform the search}if wrfReplaceAll in Flags thenWordApp.Selection.Find.Execute(Replace := wdReplaceAll)elseWordApp.Selection.Find.Execute(Replace := wdReplaceOne);{ Save word }WordApp.ActiveDocument.SaveAs(ADocument);{ Assume that successful }Result := True;{ Close the document }WordApp.ActiveDocument.Close(wdDoNotSaveChanges);finally{ Quit Word }WordApp.Quit; WordApp := Unassigned; end;end; |
#2
|
||||
|
||||
Hola.
Por favor, el código que has puesto es ilegible!. ¿Podrías encerrarlo en la etiqueta [delphi]? ¿no sabes como se usa? mirá en mi firma el enlace a la etiqueta [code], el uso de la etiqueta delphi es exactamente el mismo. Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#3
|
||||
|
||||
Cita:
Aun así, si se edita el mensaje y se colocan de nuevo las etiquetas, se verá bien. |
#4
|
|||
|
|||
Código Delphi [-]usesComObj;// Replace FlagstypeTWordReplaceFlags = set of (wrfReplaceAll, wrfMatchCase, wrfMatchWildcards);function Word_StringReplace(ADocument: TFileName; SearchString, ReplaceString: string; Flags: TWordReplaceFlags): Boolean;constwdFindContinue = 1; wdReplaceOne = 1; wdReplaceAll = 2; wdDoNotSaveChanges = 0; varWordApp: OLEVariant;beginResult := False;{ Check if file exists }if not FileExists(ADocument) then begin ShowMessage('Specified Document not found.'); Exit; end;{ Create the OLE Object }tryWordApp := CreateOLEObject('Word.Application');except on E: Exception do begin E.Message := 'Word is not available.';raise;end;end;try{ Hide Word }WordApp.Visible := False;{ Open the document }WordApp.Documents.Open(ADocument);{ Initialize parameters}WordApp.Selection.Find.ClearFormatting; WordApp.Selection.Find.Text := SearchString; WordApp.Selection.Find.Replacement.Text := ReplaceString; WordApp.Selection.Find.Forward := True; WordApp.Selection.Find.Wrap := wdFindContinue; WordApp.Selection.Find.Format := False; WordApp.Selection.Find.MatchCase := wrfMatchCase in Flags; WordApp.Selection.Find.MatchWholeWord := False; WordApp.Selection.Find.MatchWildcards := wrfMatchWildcards in Flags; WordApp.Selection.Find.MatchSoundsLike := False; WordApp.Selection.Find.MatchAllWordForms := False; { Perform the search}if wrfReplaceAll in Flags thenWordApp.Selection.Find.Execute(Replace := wdReplaceAll)elseWordApp.Selection.Find.Execute(Replace := wdReplaceOne);{ Save word }WordApp.ActiveDocument.SaveAs(ADocument);{ Assume that successful }Result := True;{ Close the document }WordApp.ActiveDocument.Close(wdDoNotSaveChanges);finally{ Quit Word }WordApp.Quit; WordApp := Unassigned; end;end;
Ahi esta, pero no se pk no salio bien, pk puse el codigo dentro de las etiquetas y no es la primera vez que envio mensajes para consultar algo. En la vista previa de mensaje me salio bien en la ocasion anterior y despues miren como salio. Vamos a ver en esta. |
#5
|
|||
|
|||
lo siento, salio mal nuevamente, el problema no es mio, sino de las etiquetas. Parece que no soporta texto muy largo, vamos a ver si cortado por partes me lo acepta:
Primera parte:
Segunda parte:
Veamos ahora |
#6
|
|||
|
|||
Quiero hacer un recuento de todo, para los que estan viendo este tema por primera vez. Tengo una funcion de replace en word que me funciona perfectamente, lo que no encuentro es la manera de mandar a imprimir. Publique el codigo en el mensaje anterior a este, para que si alguien a trabajado con un codigo parecido o tiene alguna idea de como mandar a imprimir, por favor me pueda explicar.
Disculpen lo estrambotico de los mensajes del tema, pero es que parece que las etiquetas no aceptan demasiado texto y me salio de esa manera. Tuve que dividirlo en dos partes para que saliera legible. |
#7
|
||||
|
||||
Hola.
Por favor, explicame cómo es que haces fallar a la etiqueta delphi, pues he realizado pruebas, incluso con unidades completas de código y ha funcionado de maravilla, tanto al hacer una "vista previa de Mensaje" como al publicar el post. En concreto, he probado metiendole las unidades:
En todos los casos, como ya dije, ha funcionado perfecto.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Imprimir y Cerrar Word | yorllito | Servers | 2 | 18-05-2006 02:33:53 |
Al imprimir docs.word con shellexecute..... | Javier_A | OOP | 4 | 18-01-2006 16:59:22 |
"Word no envia la orden de imprimir de mi impresora" | karekano85 | Servers | 0 | 09-12-2005 23:25:11 |
modificar documento word sin el word instalado | joaquinmol | Servers | 0 | 30-03-2005 19:58:54 |
Imprimir con word en impresora en concreto | Firibiri | Servers | 0 | 07-10-2003 11:09:09 |
|