 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
code1980 Invitado
|
Publicado: Mar 17 May, 2005 12:57 am Asunto: automatización word |
|
|
Hola a todos,
Tengo el siguiente código con el que puedo insertar una tabla al final de mi documento word, pero al hacerlo las celdas me aparecen "invisibles", es decir, no tienen borde. Alguien sabría decirme cómo se le añade un borde a dichas celdas, y cómo puedo hacer para que sólo se vean las separaciones entre columnas pero no entre las filas?
El código es el siguiente;
| Cita: |
// Añadimos: #include <ComObj.hpp>
//--- Buscamos una instancia de Word abierta
Variant wordApp = GetActiveOleObject("Word.Application");
//--- Obtenemos el documento que esta activo
Variant wordDocument = wordApp.OlePropertyGet("ActiveDocument");
//--- Obtenemos la posicion del final del documento
Variant wordRange = wordDocument.OleFunction("Range");
wordRange.OleProcedure("Collapse", 0);
//--- Creamos la tabla
Variant wordTables = wordRange.OlePropertyGet("Tables");
int rows = 5, cols = 3;
Variant wordTable = wordTables.OleFunction("Add", wordRange, rows, cols);
|
|
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Mar 17 May, 2005 7:20 am Asunto: |
|
|
A continuación de ese código puedes añadir lo siguiente (supongo que se entenderá viendo los comentarios, sino avísame):
| Código: | // Tipos de borde (hay mas, mirar en la ayuda del Word)
enum { wdBorderVertical = -6, wdBorderHorizontal,
wdBorderRight, wdBorderBottom, wdBorderLeft, wdBorderTop };
// Estilos de línea (hay mas, mirar en la ayuda del Word)
enum { wdLineStyleNone = 0, wdLineStyleSingle, wdLineStyleDot,
wdLineStyleDashSmallGap, wdLineStyleDashLargeGap,
wdLineStyleDashDot, wdLineStyleDashDotDot,
wdLineStyleDouble, wdLineStyleTriple};
// Grosor de línea (hay mas, mirar en la ayuda del Word)
enum { wdLineWidth025pt = 2, wdLineWidth050pt = 4,
wdLineWidth075pt = 6, wdLineWidth100pt = 8};
Variant borders = wordTable.OlePropertyGet("Borders");
//--- Añadimos el borde exterior de la tabla (opcional)
// borde izquierdo de la tabla
Variant border = borders.OleFunction("Item", wdBorderLeft);
border.OlePropertySet("LineStyle", wdLineStyleSingle);
border.OlePropertySet("LineWidth", wdLineWidth100pt);
// borde superior
border = borders.OleFunction("Item", wdBorderTop);
border.OlePropertySet("LineStyle", wdLineStyleSingle);
border.OlePropertySet("LineWidth", wdLineWidth100pt);
// borde derecho
border = borders.OleFunction("Item", wdBorderRight);
border.OlePropertySet("LineStyle", wdLineStyleSingle);
border.OlePropertySet("LineWidth", wdLineWidth100pt);
// borde inferior
border = borders.OleFunction("Item", wdBorderBottom);
border.OlePropertySet("LineStyle", wdLineStyleSingle);
border.OlePropertySet("LineWidth", wdLineWidth100pt);
//--- Añadimos las líneas de separación entre columnas
border = borders.OleFunction("Item", wdBorderVertical);
border.OlePropertySet("LineStyle", wdLineStyleSingle);
border.OlePropertySet("LineWidth", wdLineWidth025pt);
// opcionalmente, color, etc.
//border.OlePropertySet("Color", clRed); |
|
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|