Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

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


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 15:08:50.


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