Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Ragde88 en 2 Noviembre 2005, 22:49 pm



Título: Llenar grafico desde visual basic
Publicado por: Ragde88 en 2 Noviembre 2005, 22:49 pm
Bueno como ya lo dije, lo que quisiera sa ber es:

Como desde un programa hecho en vb, llenar los datos correspondientes para la elaboracion de un grafico heho desde excel.

Lo unico que he logrado es que se pueda realizar la grafica, pero insertando los datos directamente al grafico que inserte de excel con OLE.

Pero hay alguna manera de no tocar el grafico, y hacerlo todo desde el formulario?

Saludos


Título: Re: Llenar grafico desde visual basic
Publicado por: inodoro pereyra en 4 Noviembre 2005, 00:57 am
Citar
public cn as adodb.connection
set cn = new adodb.conection
cn.open .....'abris la tabla que necesites
'ejecutas una conculta de insercion sobre la conexion y le 'ndicas el archivo y la hoja a la que va
cn.Execute "select registros.* into [Excel 5.0;database=datos.xls].nombrehoja  from registros where...
el unico drama que tenes con esto es que no podes agregar en una hoja que exista y no podes agregar cuando esta el archivo abierto.
por lo demas funciona bien.
Otra opcion es hacer algo con objetos de automatizacion. yo me rompi la cabeza y no lo pude hacer andar. te mando lo que hice y si mi funciono pero en Visual foxrpo
Citar
local i,j,tmpsheet,xlapp,xlsheet,hoja2
dimension Mlist(1,1)
afields(mlist,'enc')
thisform.enabled=.f.
TmpSheet=GetObject('','Excel.Sheet')
XLApp=TmpSheet.Application
XLApp.visible=.T.
XLApp.workbooks.add()
XLSheet=XLApp.ActiveSheet
hoja2=XLApp.rr
for i=1 to alen(mlist,1)
   XLSheet.Cells(1,i)=mlist(i,1)
   XLSheet.Cells(1,i).font.bold=.T.
   XLSheet.Cells(1,i).font.size="10"
   XLSheet.Cells(1,i).font.name="Arial"   
endfor
i=2
select enc
go top
for n=1 to reccount('enc')
   for j=1 to alen(mlist,1)
      if vartype(&mlist(j,1))='N'
         if &mlist(j,1)=0
            XLSheet.Cells(i,j)='-'
         else
            XLSheet.Cells(i,j)=&mlist(j,1)
         endif
      endif
      if vartype(&mlist(j,1))='L'
         if &mlist(j,1)=.t.
            XLSheet.Cells(i,j)='si'
         else
            XLSheet.Cells(i,j)='no'
         endif
      endif
      if vartype(&mlist(j,1))='C'
            XLSheet.Cells(i,j)=&mlist(j,1)
      endif
      XLSheet.Cells(i,j).font.size="10"
      XLSheet.Cells(i,j).font.name="Arial"
   endfor
   i=i+1
   skip
endfor
J=''
XLSheet.Columns.EntireColumn.AutoFit
thisform.enabled=.t.
es medio complicado al principio pero cuando lo hiciste andar lo usas en todo.
leete en la ayuda lo de objetos de automatizacion y por ahi entendes algo mas.
un saludo ;D