Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   word desde delphi (https://www.clubdelphi.com/foros/showthread.php?t=52790)

creedence 31-01-2008 01:18:00

word desde delphi
 
Hola como estan amigos del foro, chequeando diversos hilos encontre codigo fuente que permite apartir de mi aplicacion crear una tabla de datos en word. Pero por mas que intente y lei por ahi no pude agregarle un titulo, o luego de la tabla agregarle resultado de una etiqueta... Que le debo hacer, la sintaxis???

Este es el codigo!!! ----> que deberia agregarle?

uses comobj;

procedure TForm1.Button1Click(Sender: TObject);
var WordApp, WordDoc, WordTable: variant;
i,j: integer;
begin
WordApp := CreateOleObject('Word.Application');
WordApp.Visible:=True;
WordDoc := WordApp.Documents.Add;
WordTable := Worddoc.Tables.Add(Worddoc.Range,5,3);
for i:= 1 to 5 do
for j:=1 to 3 do
WordTable.Cell(i,j).Range.Text := inttostr(i);
end;

En el articulo que presento Deborah Pate's Pages - Automating Word da lo siguiente pero no veo como hacer el enganche...
var s: variant;
S.TypeText('Here is some text');

Espero que alguien por lo menos me conteste.... o que me diga algo ya que es el tercer hilo que creo pero en las dos anteriores nadie me contesto ni para darme la bienvenida!! asi que me eso me puso mal!!

p/d: o diganme que hay una especie de pass para que los demas contesten! o que no le gusta creedence (de ser asi escucho cualquier otra cosa!).
Yo por mi parte cuando pueda ayudar al projimo lo hare con mucho gusto!

Lepe 31-01-2008 09:59:19

En tu primer hilo no mencionas el error que te da, muchos foristas estamos quemados de advertir que se explique con detalle los errores que obtienes, ya que dan una información muy útil.

Tu segundo mensaje ya lo contestó jachguate con código fuente. El TChart no es componente que lo use todo el mundo, es más, muchos le tienen pánico nada más que por el nombre.

En cuanto a Word, lo siento, yo uso OpenOffice :D.
Aunque según ese código, debería ser algo así:
Código Delphi [-]
WordDoc.TypeText('upppppsss');

El password para que te contesten lo tienes aquí ;)

y por supuesto, Bienvenido a ClubDelphi ;);)

PD: Si pasan varios días sin contestación, puedes añadir un mensaje a tu hilo original, para que vuelva arriba de los foros, igual ha pasado desapercibido.

Saludos

jhonny 31-01-2008 14:29:03

Cita:

Empezado por creedence (Mensaje 262296)
Espero que alguien por lo menos me conteste.... o que me diga algo ya que es el tercer hilo que creo pero en las dos anteriores nadie me contesto ni para darme la bienvenida!! asi que me eso me puso mal!!

Jejeje, Eso estuvo chistoso :D, Bienvenido!!!

Cita:

Empezado por creedence
p/d: o diganme que hay una especie de pass para que los demas contesten! o que no le gusta creedence (de ser asi escucho cualquier otra cosa!).

Si, hay un un password para que las demas personas contesten y ese password es... hacer las preguntas entendibles y con los datos necesarios para que generen respuestas :D.

Cita:

Empezado por creedence
Yo por mi parte cuando pueda ayudar al projimo lo hare con mucho gusto!

Que bueno hombre, siendo asi nada mas, pues bienvenido de nuevo.

Gabo 31-01-2008 15:28:13

¡Bienvenido! :D :D :D

Sobre tu consulta (o lo que entendí de ella), para escribir es así:

Código:

Variant Selection = word.OlePropertyGet("Selection");
Selection.OleProcedure("TypeText", "Hola");

El código está en C++Builder pero no te costará pasarlo a Delphi...

Para salir de la tabla y continuar escribiendo (que me parece que es otra pregunta que haces) es:

Código:

Selection.OleProcedure("EndKey", 6);
Observa que primero declaro Selection para trabajar con mayor comodidad, luego uso los procedimientos "TypeText" para escribir y "EndKey" para abandonar la tabla

creedence 06-02-2008 14:49:05

No funciona!
 
Hola estuve intentando las alternativas presentadas pero todavia no pude hacer funcionar!!!
Les mando el codigo, salta un error en la linea de worddoc.typetext('lo que sea'). corranlo y van a ver...

uses comobj;

procedure TForm1.Button1Click(Sender: TObject);
var WordApp, WordDoc, WordTable: variant;
i,j: integer;
begin
WordApp := CreateOleObject('Word.Application');
WordApp.Visible:=True;
WordDoc := WordApp.Documents.Add;
WordDoc.TypeText(' Titulo de la tabla ');
WordTable := Worddoc.Tables.Add(Worddoc.Range,5,3);
for i:= 1 to 5 do
for j:=1 to 3 do
WordTable.Cell(i,j).Range.Text := inttostr(i);
WordDoc.TypeText(' Resultado obtenido: '+label1.caption);
end;

Corran el codigo, agradeceria mucho su ayuda. Muchas gracias

p/d: Creo que en este ejempo queda claro lo que quiero hacer.

Gabo 07-02-2008 09:18:27

Visita éste hilo...

En el pongo el código completo para abrir un documento e insertar datos en él (incluso uso una tabla).

El código está en C++Builder asi que tendrás que pasarlo a Delphi. Verás que no es muy complicado, yo varias veces he hecho la operación inversa con el código que ponen los usuarios de Delphi.


La franja horaria es GMT +2. Ahora son las 15:32:32.

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