Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Servers (https://www.clubdelphi.com/foros/forumdisplay.php?f=9)
-   -   Ayuda con Word (https://www.clubdelphi.com/foros/showthread.php?t=76749)

Jessamyne 24-11-2011 20:43:43

Ayuda con Word
 
Hola buenas tardes, me gustaria mucho que me ayudaran con un problema que tengo, espero formular bien la pregunta ya que es la primera vez que lo hago.

Quiero copiar el contenido de un documento de word a una plantilla tambien de word, y nose como hacerlo, soy nueva usando componentes servers de delphi asi que no tengo idea de como hacerlo. Espero haberme explicadoo bien.

Veamos les explico mas explicitamente porque nota acabo de leer un post donde dice que expliquemos bien, ok, espero hacerlo bien.

Tengo una plantilla para hacer un libro, y aparte tengo todos los documentos que componen dicho libro, ok.

En base a unos datos que inserto, nombre, edad, etc, yo selecciono los documentos que van a formar parte de la plantilla, ya tengo todo eso
busco los documentos que forman parte del libro y todo, pero ahora nose como pegar el contenido de esos documentos en la plantilla. Me explico?, espero que si. Bueno espero me puedan ayudar.

De antemano muchas gracias.

Casimiro Notevi 24-11-2011 21:52:03

Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración.

Jessamyne 24-11-2011 23:24:17

Gracias
 
Gracias por recomendarme la guia de estilo y por darme la bienvenida. Segun lo que lei mi pregunta la hice bien. bueno eso espero y si no me dejo guiar.

Casimiro Notevi 24-11-2011 23:35:05

Poner títulos descriptivos de lo que se pregunta, en tu caso sería conveniente poner algo así como: "¿Cómo copiar el contenido de un documento de word a una plantilla tambien de word?".
Bueno, para la siguiente vez :)

newtron 25-11-2011 09:48:25

Hola.

No sé exactamente como lo quieres hacer. Si quieres insertar un archivo de word dentro de otro imagino que tendrás que ir leyendo uno para ir añadiendo al otro, ¿es así?.

Saludos

Al González 25-11-2011 20:23:10

Para ello puedes usar el componente TWordApplication que viene con Delphi. Lo siguiente es una aproximación (posiblemente en el foro encontrarás ejemplos más completos):

Código Delphi [-]
// Creamos un nuevo documento basado en la plantilla
OleVariant (WordApplication1.Documents).Add ('C:\Proyecto\Plantilla.dot');

// Hacemos una selección en el documento y la reemplazamos con el texto que deseamos
...
WordApplication1.Selection.Text := TextoAInsertar;

Sería bueno que nos proporcionaras una muestra de la plantilla y también de posibles documentos que han de formar ese libro, además de cualquier otra información detallada de los parámetros, campos, etc. a tomar en cuenta. Y en general más contexto.

En caso de que no puedas anexar los archivos en un siguiente mensaje, puedes enviármelos a mi correo. Demoraré un poco en revisarlos por falta de tiempo, pero prometo compartirlos en cuanto me lleguen para que los demás compañeros puedan analizarlos también. :)

Saludos.

Al González.

Jessamyne 25-11-2011 21:26:08

Gracias por todo su apoyo
 
Hola [newtron] y [Al González].

Muchas gracias por responder a mi duda, me es imposible subir o pasarte por correo electronico la plantilla y los documentos debido a que es confidencial, y en mi trabajo me multarian, si no con mucho gusto lo haria para que me ayudaran a resolver este problema.

Tratare de explicarme mejor.

1.- Tengo una plantilla principal (el libro que es personalisado basandome en su nombre, edad, fecha de nacimiento) pero esta vacia, solo tiene margenes, indice, unos logotipos e imagenes que estan de forma estatica.

2.- Una persona me proporciona los datos que mencione anteriormente, yo calculo edad, signo zodiacal etc, etc, mi programa ya lo hace, en base a esos datos yo busco unos documentos, varia mucho que documentos se van a insertar en la plantilla ya que como mencione es personalisado.

Yo tenia la idea de copiar el contenido de los documentos e irlos insertando en la plantilla usando el
{ MERGEFIELD NombreCampo [Modificadores]}.


Espero haberme explicado mejor. Gracias

newtron 28-11-2011 09:20:53

Hola.

A ver si me entero, ¿lo que quieres hacer es insertar campos de una base de datos dentro de un documento word?.

Si es eso lo que yo hago en esos casos es fabricarme yo mismo una especie de merge. Me explico, usando caracteres especiales inserto en un documento de word el nombre de la tabla y el campo, logicamente estando ya posicionado mediante el programa en el registro adecuado, posteriormente abro el documento word y hago una busqueda/sustitución de los campos especiales por sus valores con lo que te queda el documento final.

Código:

P.E:

Estimado Sr. [CLIENTES.NOMBRE]

Le comunico, por si no se acuerda :D, que su sexo es [CLIENTES.SEXO], cosa que
deberá tener en cuenta para en sus futuras relaciones en los garitos nocturnos
de [CLIENTES.POBLACION] no tener sorpresas inadecuadas.

Si es algo parecido a esto lo que necesitas comentalo y te buscaremos ejemplos.

Saludos


La franja horaria es GMT +2. Ahora son las 14:08:14.

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