Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Servers
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-01-2005
rafita rafita is offline
Miembro
 
Registrado: ago 2003
Ubicación: Cuenca- España.
Posts: 309
Poder: 21
rafita Va por buen camino
Posicionarme en un lugar concreto del documento

Buenas a todos,

Intento utilizar Word para realizar cartas personalizadas partiendo de datos de un formulario.
No es un "mailmerge" porque el origen de datos no es una base de datos, sino campos de un formulario, campos calculados,.... Por tanto en el documento Word no utilizo los campos combinados sino marcadores, que aunque son más torpes me sirven para mis propósitos:
Código:
Marcador:='MFecha_Diligencia1';
Contenido:=FechaLiteral(Edit36.Text);
if MiDocumento.Bookmarks.Exists(Marcador) then
   MiDocumento.Bookmarks.Item(Marcador).Range.InsertBefore(Contenido);
El problema surge cuando en una determinada posición quiero insertar una serie INDETERMINADA de párrafos:
Código:
// utilizo este marcador para posicionar el cursor en el punto donde queremos
  Marcador:='MIntereses1';
  Contenido:='';
  if MiDocumento.Bookmarks.Exists(Marcador) then MiDocumento.Bookmarks.Item(Marcador).Range.InsertBefore(Contenido);
  // creamos un párrafo nuevo por cada año que tiene intereses
  if StrToFloat(Edit20.Text)<>0 then // 1999 _________________________________
     begin
       MiDocumento.Range(EmptyParam, EmptyParam).InsertParagraphAfter;
       MiDocumento.Paragraphs.Last.Range.Text:=Format('%8.2m',[StrToFloat(Edit21.Text)]);
     end;
  if StrToFloat(Edit23.Text)<>0 then // 2000 _________________________________
     begin
       MiDocumento.Range(EmptyParam, EmptyParam).InsertParagraphAfter;
       MiDocumento.Paragraphs.Last.Range.Text:=Format('%8.2m',[StrToFloat(Edit24.Text)]);
     end;
....
Supuse que al sustituir el marcador MIntereses1 por un espacio en blanco el cursor de inserción se situaría allí, y los nuevos párrafos que inserto irian tras dicho espacio, pero no funciona así sino que se situa al final del documento.

¿alguien puede darme alguna pista? ¿alternativas?
Gracias a todos
__________________
Rafita.
Responder Con Cita
  #2  
Antiguo 12-01-2005
rafita rafita is offline
Miembro
 
Registrado: ago 2003
Ubicación: Cuenca- España.
Posts: 309
Poder: 21
rafita Va por buen camino
Hola a todos otra vez.

Lo solucioné de forma poco fina: recopilo toda la información en una cadena (String) y sustituyo el marcador por esa cadena.

Código:
AcumuladorTexto:='';
// añadimos los intereses de cada año
  if StrToFloat(Edit20.Text)<>0 then // 1999 _________________________________
    AcumuladorTexto:=AcumuladorTexto+Format('%8.2m',[StrToFloat(Edit21.Text)])+#13;
  if StrToFloat(Edit23.Text)<>0 then // 2000 _________________________________
       AcumuladorTexto:=AcumuladorTexto+Format('%8.2m',[StrToFloat(Edit24.Text)])+#13;
  if StrToFloat(Edit26.Text)<>0 then // 2001 _________________________________
     AcumuladorTexto:=AcumuladorTexto+Format('%8.2m',[StrToFloat(Edit26.Text)])+#13;
  if StrToFloat(Edit29.Text)<>0 then // 2002 _________________________________
     AcumuladorTexto:=AcumuladorTexto+Format('%8.2m',[StrToFloat(Edit29.Text)])+#13;
  if StrToFloat(Edit46.Text)<>0 then // 2003 _________________________________
     AcumuladorTexto:=AcumuladorTexto+Format('%8.2m',[StrToFloat(Edit47.Text)])+#13;
  if StrToFloat(Edit49.Text)<>0 then // 2004 _________________________________
     AcumuladorTexto:=AcumuladorTexto+Format('%8.2m',[StrToFloat(Edit49.Text)])+#13;
  if StrToFloat(Edit52.Text)<>0 then // 2005 _________________________________
     AcumuladorTexto:=AcumuladorTexto+Format('%8.2m',[StrToFloat(Edit53.Text)])+#13;
  Marcador:='MIntereses1';
  Contenido:=AcumuladorTexto;
  if MiDocumento.Bookmarks.Exists(Marcador) then MiDocumento.Bookmarks.Item(Marcador).Range.InsertBefore(Contenido);
De cualquier forma ¿alguien sabe cómo posicionarse en un punto del documento word?

Ta'luego
__________________
Rafita.
Responder Con Cita
  #3  
Antiguo 24-01-2005
pepe2000 pepe2000 is offline
Miembro
 
Registrado: dic 2003
Ubicación: Cajamarca
Posts: 93
Poder: 21
pepe2000 Va por buen camino
use de componente

Hola. yo encontre por ahí un componente excelente que te permite manejar word como quieras. Ahora mismo intente buscarlo en la red. pero no lo encuentro asi que si estas interesado puedes comunicarte conmigo y te lo envio
Responder Con Cita
  #4  
Antiguo 11-07-2006
Wdo.Net Wdo.Net is offline
Registrado
 
Registrado: jul 2006
Posts: 6
Poder: 0
Wdo.Net Va por buen camino
Hermano, yo tambien estoy interesado en dicho componente, si puedes envialo al correo wgamarrac@yahoo.es, te agradezco. Chao.
Responder Con Cita
  #5  
Antiguo 17-07-2006
rafita rafita is offline
Miembro
 
Registrado: ago 2003
Ubicación: Cuenca- España.
Posts: 309
Poder: 21
rafita Va por buen camino
Hola compañeros,

Efectivamente sí estoy interesado.

Puedes mandarmelo a mi cuenta , aunque sería conveniente que pusieses la dirección en este foro, porque supongo que puede haber mucha gente interesada, y de esta forma se la facilitas a más personas.

Saludos.
__________________
Rafita.
Responder Con Cita
  #6  
Antiguo 18-07-2006
pepe2000 pepe2000 is offline
Miembro
 
Registrado: dic 2003
Ubicación: Cajamarca
Posts: 93
Poder: 21
pepe2000 Va por buen camino
Cool Respuesta

Hola.
El componente que permitía trabajar word desde delphi, era el WordParaTorpes; y se encontraba en la colección de componentes del Club Delphi.
Ahora el club tiene desactivadas varias opciones, como son la seccion de trucos, componentes, ejemplos, etc. Espero que este sea un motivo para que los Moderadores y Responsables de la pagina puedan hacer algo al respecto...
He buscado el componente entre mis copias de seguridad y aún no lo encuentro. si eso es realmente lo quieren, no duden en pedirmelo para seguir buscando.
Saludos.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 17:23:12.


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
Copyright 1996-2007 Club Delphi