Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-11-2005
Avatar de alt126
alt126 alt126 is offline
Miembro
 
Registrado: dic 2004
Posts: 171
Poder: 20
alt126 Va por buen camino
Automatizacion de word (insertar tablas)

Estoy intentando meter una tabla de manera automatica desde c++ en word...estoy probando este codigo...pero ni me escribe nada en las celdas (deberia), ni me aparece si le doy una vista previa, aunque en diseño si aparece:



Código:
Variant Selection = WordApp.OlePropertyGet("Selection"); Variant selRange = Selection.OlePropertyGet("Range"); Variant docTables = WordDoc.OlePropertyGet("Tables"); docTables.OleFunction("Add", selRange, (Variant) 1, (Variant) 6); // Address the table Variant docTable1 = docTables.OleFunction("Item", (Variant) 1); // Update some cells Variant tableCell = docTable1.OleFunction("Cell", (Variant) 1,(Variant) 1); Variant cellRange = tableCell.OlePropertyGet("Range"); cellRange.OlePropertySet("Text", (Variant) "1-1"); tableCell = docTable1.OleFunction("Cell", (Variant) 1, (Variant) 2); cellRange = tableCell.OlePropertyGet("Range"); cellRange.OlePropertySet("Text", (Variant) "1-2");
GRACIAS

Un saludo

Antonio
Responder Con Cita
  #2  
Antiguo 03-11-2005
Avatar de alt126
alt126 alt126 is offline
Miembro
 
Registrado: dic 2004
Posts: 171
Poder: 20
alt126 Va por buen camino
Problema solucionado...

Para meter una tabla seria asi:

Cita:
Variant TablasWord= WordDoc.OlePropertyGet("Tables");
Variant selRange = Selection.OlePropertyGet("Range");
//Con la siguiente linea creamos una tabla, con 1 fila y 4 columnas, visible
//y ancho fijo.
Variant NuevaTabla= TablasWord.OleFunction("Add", selRange, (Variant) 1,(Variant) 4, (Variant) 1, (Variant) 0);
Y para meter datos en la tabla:

Cita:
//Seleccionamos la tabla sobre la que queremos escribir.
Variant Tabla1= TablasWord.OleFunction("Item", (Variant) 1);
//Seleccionamos la fila y columna (1,1)
Variant tableCell = Tabla1.OleFunction("Cell", (Variant) 1,(Variant) 1);
Variant cellRange = tableCell.OlePropertyGet("Range");
//Escribimos el valor que queramos.
cellRange.OlePropertySet("Text", (Variant) "1-1");
Por si le sirve a alguien.

Un saludo

Antonio
Responder Con Cita
  #3  
Antiguo 04-11-2005
Avatar de alt126
alt126 alt126 is offline
Miembro
 
Registrado: dic 2004
Posts: 171
Poder: 20
alt126 Va por buen camino
A ver si alguien sabe como centrar una tabla...pq desde el word, intento grabar una macro centrando una tabla...pero no me deja seleccionar la tabla...

el codigo es el siguiente y lo que hace es crear una tabla pero alineada a la ezqueirda y yo quiero centrarla.

Cita:
Tablas_Word = Documento_Word.OlePropertyGet("Tables");
Nueva_Tabla = Tablas_Word.OleFunction("Add", Rango, (Variant) 1,(Variant) 1, (Variant) 1, (Variant) 1);
Gracias

Un saludo

Antonio
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 05:53:52.


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