Ver Mensaje Individual
  #2  
Antiguo 12-10-2011
Jose Manuel Jose Manuel is offline
Miembro
 
Registrado: may 2003
Posts: 112
Reputación: 21
Jose Manuel Va por buen camino
Delphi - Hyperlink a Word

He conseguido resolver una parte del problema, pero ahora me surge otro. El hiperlink se crea bien en la COLUMNA 1, pero en la columna 2 se descompone y se graba en la columna 1 a continuación del hiperlink de la columna 1.
Si alguien tiene alguna idea o sugerencia, será bienvenida.
Un saludo
Jose Manuel

Código Delphi [-]
procedure TfbNot.btn_crear_wordClick(Sender: TObject);
var
texto1:string;
Range: Variant;
Address:OLEvariant;
TextToDisplay:OLEvariant;
nombredoc : OleVariant;
f,c:integer;
begin

 WordApplication1.Connect;
 WordApplication1.Visible:=True;
 WordDocument1.NewInstance; //Crea un documento nuevo
 WordDocument1.PageSetup.Orientation  := wdOrientPortrait;
 WordDocument1.PageSetup.LeftMargin   := 42.55; //Puntos (1,5 centímetros)
 WordDocument1.PageSetup.RightMargin  := 42.55; //Puntos (1,5 centímetros)
 WordDocument1.PageSetup.TopMargin    := 42.55; //Puntos (1,5 centímetros)
 WordDocument1.PageSetup.BottomMargin := 56.70; //Puntos (2 centímetros)

 WordFont1.ConnectTo(WordDocument1.Content.Font);
 WordFont1.Bold  := 1;
 WordFont1.Name  := 'Arial';
 WordFont1.Size  := 20;
 WordFont1.Color := clMaroon;
 Texto1:='Boletín De Noticias';
 WordDocument1.Content.InsertAfter(Texto1);

 WordDocument1.Tables.Add (WordDocument1.Words.Last,4,2,EmptyParam,EmptyParam); // nº de columnas y filas a crear
 Range := WordDocument1.Tables.Item(1).range;
 Range.font.bold  := 1;
 Range.font.Name  := 'Book Antiqua';
 Range.font.size  := 10;
 Range.font.color := wdDarkBlue;
 Range.ParagraphFormat.Alignment := wdAlignParagraphJustify;// Center; Right;

// CELDA fila, columna  ********************************************************************
// comprobar que hemos creado las celdas
for f := 1 to 1 do
 for c := 1 to 2 do
 begin
 Range := WordDocument1.Tables.Item(1).Cell(f,c).range;
 Address        := trim(c_web.text);
 TextToDisplay  := trim(m_titulo.text);
---> aquí está el proablema, el hiperlink solo se crea bien en la COLUMNA1, falla en la 2
 WordDocument1.Hyperlinks.Add(Range, ADDRESS, EmptyParam, EmptyParam, TextToDisplay, EmptyParam);
 range.InsertAfter(chr(13)+chr(13)+m_noticias.text+#13+#13+c_fuente.text);
---> el resto del texto de la celda se graba correctamente, solo falla el HyperLink en la columna 2
 end;

 WordDocument1.Range.InsertParagraphAfter;
 WordDocument1.Paragraphs.Last.Range.Text :=' aquí va el pie de pagina ';

 WordApplication1.DisConnect;
end;
Responder Con Cita