Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Automatizacion de word (generar documentos) (https://www.clubdelphi.com/foros/showthread.php?t=26743)

alt126 02-11-2005 12:17:24

Automatizacion de word (generar documentos)
 
Hola de nuevo...tengo un problema a la hora de cambiar el color del texto cuando se inserta en word. El codigo es el siguiente:


Código:

  //VARIABLES
 
  Variant WordApp, WordDocs, WordDoc;
 
  //ABRIR UN DOCUMENTO EN BLANCO
 
  WordApp=Variant::CreateObject("Word.Application");
  WordApp.OlePropertySet("Visible", true); WordDocs=WordApp.OlePropertyGet("Documents");
  AnsiString szTxtFile=ExtractFilePath(Application->ExeName)+"\prueba.doc";
  WordDoc=WordDocs.OleFunction("Add");
 
  //INSERTAR TEXTO
 
  Variant Selection = WordApp.OlePropertyGet("Selection");
  Variant Font = Selection.OlePropertyGet("Font");
  Font.OlePropertySet("Name","Arial");
  Font.OlePropertySet("Bold","1");
  Font.OlePropertySet("Size","40");
  Font.OlePropertySet("Color",Edit1->Text);
  Selection.OleProcedure("TypeText", WideString("BEEEEEEEETIS"));
  Selection.OleProcedure("InsertDateTime", "dddd, dd MMMM yyyy", False);
 
  //AHI ME PETA A LA HORA DE METER EL COLOR...
  // SI PONGO wdColorRed,clRed,Red,ffffff,RGB(255,255,255)...TODO ESO PETA.
  //PERO SI PONGO UN NUMERO DE 0 HASTA 999999, FUNCIONA Y ME
  //DA COLORES.

LA REGLA DE COLORES ES LA SIGUIENTE:

0 - NEGRO
100 - MARRONCILLO
255 - ROJO
252525 - VERDOSILLO
505050 - AMARILLENTO


ALGUIEN PUEDE DECIRME ALGUNA REGLA LOGICA????

GRACIAS

Un saludo

Antonio

Neftali [Germán.Estévez] 02-11-2005 12:27:20

Cita:

Empezado por alt126
LA REGLA DE COLORES ES LA SIGUIENTE:

0 - NEGRO
100 - MARRONCILLO
255 - ROJO
252525 - VERDOSILLO
505050 - AMARILLENTO

ALGUIEN PUEDE DECIRME ALGUNA REGLA LOGICA????

Esos son los números en decimal del color; Coge la calculadora de Windows, conviértelos a hexadecimal y obtendrás el valor que puedes probar en Delphi, por ejemplo:

$0 - NEGRO
$64 - MARRONCILLO
$FF - ROJO
$3D6AD - VERDOSILLO
$7B4DA - AMARILLENTO

Si colocas esos valores en Delphi, verás como obtienes esos colores, por lo tanto haciendo lo contrario puedes obtener el valor decimal del color que quieras.

alt126 02-11-2005 12:38:48

ahhhhhhhh!!
 
PERFECTO!!!

Unos cracks...

otraaaaaa preguntita...ahora quiero meter una tabla...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

Neftali [Germán.Estévez] 02-11-2005 13:42:52

Nueva pregunta, nuevo hilo.
Escribe un hilo nuevo con la referencia a la nueva pregunta, es mejor, más fácil de seguir luego y tendrás más probabilidades de que te contesten.
De todas formas y antes de ponerlo haz una búsqueda en los foros, me suena que éste tema (word y tablas) ya se ha hablado.

zidfrid 24-04-2007 04:19:27

office 2k
 
hola amigos, tengo el siguiente problema. Trabajo con c++ buielder 6 y no se como sacarle una copia a un documento de word para despues modificarlo y almacenarlo en una determinada ruta, hago la aclaracion de que tampoco se como modificar este tipo de archivos, mejor dicho no se nada sobre este asunto y si alguien me pudiera colaborar le estaria muy agradecido.:o


La franja horaria es GMT +2. Ahora son las 10:54:40.

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