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 12-04-2005
Avatar de alt126
alt126 alt126 is offline
Miembro
 
Registrado: dic 2004
Posts: 171
Poder: 20
alt126 Va por buen camino
De nuevo...GRAFICAS AUTOMATICAS EN EXCEL!!

Hace poco escribi un mensaje sobre esto, pero ahora que he vuelto sobre el tema, me gustaria que alguien me ayudara, POR FAVOR!!!

Para crear una grafica de manera automatica en excel desde builder hago esto (codigo cedido por OSKR):

//RANGO DE CELDAS PARA LA GRAFICA
String origen,destino; //Comienzo y destino de las celdas de datos.
origen="C";
destino="C";
origen=origen + IntToStr(14);
destino=destino + IntToStr(14 + num_visitas - 1);
origen = origen + ":" + destino;
Variant MiRango=MiHoja.OlePropertyGet("Range",origen);
//GRAFICA
Variant MiColeccionGraficos=MiHoja.OlePropertyGet("ChartObjects");
MiColeccionGraficos.OleProcedure("Add",400,20,200,200);
Variant MiGrafico=MiColeccionGraficos.OlePropertyGet("Item",1);
AnsiString TituloPrincipal="Palomas";
AnsiString TituloEjeY="Eje Y";
AnsiString TituloEjeX="Eje X";
//1 con leyenda
//0 sin leyenda
int Leyenda=1;
//The number of rows or columns containing series labels
int SeriesLabels=0;
//The number of rows or columns containing category labels
int CategoryLabels=0;
//7-> barras con valores
//6-> barras sin valores
//5-> barras complementarias
int ContruccionGrafica=6;
//2 por barras horizontales
//3 por barras verticales
//5 tarta
//11 por barras 3d
//13 por tarta 3d
int TipoGrafico=5;
MiGrafico.OlePropertyGet("Chart").OleProcedure("ChartWizard",MiRango,TipoGrafico,ContruccionGrafica, 2,CategoryLabels,
SeriesLabels,Leyenda,TituloPrincipal.c_str(),TituloEjeX.c_str(),TituloEjeY.c_str());
Excel=Unassigned;


El problema es que no se como asignar nombres a las series que muestro, es decir, me aparece la grafica, con los datos, pero cada serie aparece con nombres 1,2,3...

GRACIAS,

Antonio
Responder Con Cita
  #2  
Antiguo 12-04-2005
Avatar de alt126
alt126 alt126 is offline
Miembro
 
Registrado: dic 2004
Posts: 171
Poder: 20
alt126 Va por buen camino
He encontrado...

Que los datos de una grafica vienen dados por series no?...pues para modificarlos, se puede utilizar un metodo llamado SeriesCollection, de manera que si usamos la propiedad "Value", modificamos los datos y con "XValue", los nombres de los datos...

El problema es que el borland me da un fallo que me dice que ese metodo no se puede automatizar...?¿?¿?¿?

Entonces direis como, metes los datos, si no te deja?...pues yo estoy usando el metodo, chartwizard....pero ahi no le puedo indicar los nombres de las series....

ALGUNA SUGERENCIA???? POR FAVOR!!!!

Antonio
Responder Con Cita
  #3  
Antiguo 12-04-2005
Avatar de barman
barman barman is offline
Miembro
 
Registrado: may 2003
Posts: 139
Poder: 21
barman Va por buen camino
Noommmmmm, odio excel y toda su api de M.....a, es engorrosa y parece hecha para que tengas que pagar la cuota anual de M$, (lo cual no quiere decir que no la use, en fin).

Pero, lo que pides no lo he hecho nunca, lo maximo ha sido dibujar las graficas (2d) sobre un canvas y enviarlo como una bmp a excel.
Responder Con Cita
  #4  
Antiguo 14-04-2005
Avatar de alt126
alt126 alt126 is offline
Miembro
 
Registrado: dic 2004
Posts: 171
Poder: 20
alt126 Va por buen camino
Talking Solucionado!!!

La solucion es la siguiente:

Variant MiRango=MiHoja.OlePropertyGet("Range","A1:A5");
Variant MiColeccionGraficos=MiHoja.OlePropertyGet("ChartObjects");
MiColeccionGraficos.OleProcedure("Add",500,200,200,200);
Variant MiGrafico=MiColeccionGraficos.OlePropertyGet("Item",1);
Variant q = MiGrafico.OlePropertyGet("Chart");
Variant r = q.OlePropertyGet("SeriesCollection",(Variant)1);
r.OlePropertySet("XValues","='1'!L1C2:L2C2"); //Aqui toma los nombres!!!


GRACIAS A DAVID (GOKU)!!!!

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 04:25:31.


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