FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Unir dos documentos word
Wop!
Hola a todos, necesito unir dos documentos de word en uno solo. Es posible hacer esto sin pasar por meter el texto en el portapapeles o chapuzas similares?
__________________
E pur si muove |
#2
|
||||
|
||||
Cita:
¿Cómo se inserta un documento dentro de otro? He ahí la cuestión, la verdad es que yo tampoco lo sé, pero una cosa que suele funcionar ya que no hay mucha ayuda sobre el tema, es crear un macro en Word que lo haga y luego mirar el código. Una vez veas las llamadas puedes bucar ayuda en el MSDN; Las llamadas vía automatixación suelen ser similares a las instrucciones de VBApp que usan las aplicaciones de Office en las macros. Puedes buscar ayuda (seguir el camiino) sobre/a: WordApp.Selection.InsertFile(FileName)
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
||||
|
||||
Cita:
Que se tenia que hacer via automatización, lo tenía claro pero lo de hacer la macro y espiar el codigo es buena idea
__________________
E pur si muove |
#4
|
|||
|
|||
Hola,
yo lo he hecho via copiar y pegar el documento en la nueva hoja: tenía que hacer un informe con diferentes apartados cada uno con diferentes plantillas y el elegir cual era la siguiente era algo caótico, muy dificil de hacer con el Rave Report, así que lo hago en Word, Habro la plantilla en cuestion, la modifico, la copio, cierro la plantilla sin grabar y la pego en el documento final. si quiero insertar página inserto un salto de página y así voy recorriendo todas las plantillas. El resultado es impresionante, el problema, cuando el documento es muy grande el tiempo que tarda en crearlo Tb lo es. El código para copiar y pegar es una cosa así: Código:
num:=ListaTexto.Count; // saco el número de marcadores a insertar plant:=WordApp.Documents.Open(Plantilla); //abro la plantilla for i:=0 to (num-1) do begin marcador:='M'+IntToStr(i); // nombre marcadores (M0 M1 ... ) bkmk := plant.Bookmarks.Item(marcador).Range; bkmk.text:=ListaTexto.Strings[i]; //relleno los marcadores end; plant.sections.item(1).range.copy; //Copio la plantilla entera plant.close(wdDoNotSaveChanges); //Cierro sin grabar la plantilla DocFinal.Content.Paragraphs.Last.Range.InsertParagraphAfter; //inserto un parrafo docFinal.Content.Paragraphs.Last.Range.paste; //Pego el texto en el parrafo nuevo ListaTexto es un Tstrings con el texto a insertar antes hemos creado WordApp y docFinal: Código:
WordApp := CreateOleObject('Word.Application'); docFinal:=WordApp.Documents.add(PlantillaVaciaConMargenes); Código:
docFinal.Content.Paragraphs.Last.Range.InsertParagraphAfter; docFinal.Content.Paragraphs.Last.Range.InsertBreak(wdpagebreak); PD: si tienes más dudas tengo un objeto entero que hace eso |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
|