Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-02-2009
Jose Roman Jose Roman is offline
Miembro
 
Registrado: jul 2006
Ubicación: Colombia
Posts: 361
Poder: 18
Jose Roman Va por buen camino
Hojas de Excel...

Hola a todos...
Me gustaria saber como puedo cargar en un ListBox las hojas que tiene un archivo de excel, tengo Delphi 7.
Gracias de antemano por la colaboracion.
Responder Con Cita
  #2  
Antiguo 25-02-2009
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola Jose, lo puedes hacer de esta forma:

Código Delphi [-]
var
 WorkBook: OleVariant;
begin 
 for Ind := 1 to WorkBook.Worksheets.Count do
    ListBox1.Items.Add(WorkBook.Worksheets[Ind].Name);

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #3  
Antiguo 26-02-2009
Jose Roman Jose Roman is offline
Miembro
 
Registrado: jul 2006
Ubicación: Colombia
Posts: 361
Poder: 18
Jose Roman Va por buen camino
Gracias por responder...
Tengo este procedimiento:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  ApXls : Variant;
  Libro : Variant;
  Hoja  : Variant;
begin
  try
    ApXls := CreateOleObject('Excel.Application');
    try
      ApXls.Visible := False;
      Libro := ApXls.WorkBooks.Add;
      Libro.Open('C:\Documents and Settings\LABORATORIO.FPINTO\Escritorio\COBRO.xls');
      ShowMessage(IntToStr(ApXls.WorkBooks.Worksheets.Count));
    finally
      ApXls.Quit;
      ApXls.Free;
    end;
  except

  end;
end;
Al tratar de saber cuantas hojas posee el libro de Excel abierto, me arroja este error:

EOleError with message 'Method 'Worksheets' not supported by automation object'.

No estoy utilizando componentes para abrir Excel solo las unidades ComObj y Excel2000.
Responder Con Cita
  #4  
Antiguo 26-02-2009
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola de nuevo, debes hacerlo de esta forma :

Código Delphi [-]
  try
    ApXls := CreateOleObject('Excel.Application');
    try
      ApXls.Visible := False;
      Libro := ApXls.Workbooks.Open('C:\Documents and Settings\LABORATORIO.FPINTO\Escritorio\COBRO.xls');
      ShowMessage(IntToStr(Libro.Worksheets.Count));
    finally
      ApXls.Quit;
    end;
  ..............

Pruebalo y nos dices si te funciona.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #5  
Antiguo 26-02-2009
Jose Roman Jose Roman is offline
Miembro
 
Registrado: jul 2006
Ubicación: Colombia
Posts: 361
Poder: 18
Jose Roman Va por buen camino
Gracias eso era lo correcto...
Responder Con Cita
  #6  
Antiguo 26-02-2009
Jose Roman Jose Roman is offline
Miembro
 
Registrado: jul 2006
Ubicación: Colombia
Posts: 361
Poder: 18
Jose Roman Va por buen camino
Que pena molestar tanto, pero sabes como hago para realizar un cilo for para las filas que posean datos, es decir de la columna A fila 1 hasta fila X leer dato.

Última edición por Jose Roman fecha: 26-02-2009 a las 18:07:52.
Responder Con Cita
  #7  
Antiguo 26-02-2009
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Cita:
Empezado por Jose Roman Ver Mensaje
Que pena molestar tanto, pero sabes como hago para realizar un cilo for para las filas que posean datos, es decir de la columna A fila 1 hasta fila X leer dato.
Hola de nuevo, debes añadir lo siguiente:

Código Delphi [-]
var
 .............
 .............
 Rows, Cols : Integer;
 Rango: Variant;
begin
 .......................
  Hoja := ApXls.Workbooks['COBRO.xls'].WorkSheets[1];
  Hoja.Cells.SpecialCells(xlCellTypeLastCell, EmptyParam).Activate;
 
  Rows := ApXls.ActiveCell.Row;
  Cols := ApXls.ActiveCell.Column;
 
  Rango := ApXls.Range['A1', ApXls.Cells.Item[Rows, Cols]].Value;
  for i:=1 to Rows do
   begin
    for j:=1 to Cols do
     begin
      Showmessage(Rango[i,j]);
     end;
   end;
 ........................

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Consultas SQL a Excel en varias hojas miquellg Conexión con bases de datos 1 22-08-2008 13:29:41
como moverme por las hojas de un doc en excel karla Servers 2 07-08-2006 19:50:01
Creacion de mas hojas en Excel Osvaldo Carlos Servers 2 10-02-2006 23:45:26
Listado de hojas de un libro de Excel roman Conexión con bases de datos 1 12-06-2004 06:26:18
Excel con varias hojas Ricardo Alfredo Varios 0 22-01-2004 15:07:33


La franja horaria es GMT +2. Ahora son las 17:49:38.


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