Pues actualizando la duda que tenia, ya encontré la manera de obtener el nombre de las hojas.
Código Delphi
[-]
ADOConnection1.GetTablesNames(ComboBox1.Items,False);
Resulta que el archivo excel lo debía haber considerado como una base de datos y las hojas como las tablas que contiene.
Pues nada, creo que con esto ya quedó resuelto mi problema.
Aqui pego el código completo espero que sirva para alguien mas.
Código Delphi
[-]
unit ULeeSalientes;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, DB, ADODB, Grids, DBGrids, ExtCtrls;
type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
ADODataSet1: TADODataSet;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
OpenDialog1: TOpenDialog;
Panel1: TPanel;
BitBtn1: TBitBtn;
ComboBox1: TComboBox;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ADOConnection1BeforeConnect(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
private
public
end;
var
Form1: TForm1;
Archivo,Hoja: String;
implementation
{$R *.dfm}
procedure TForm1.ADOConnection1BeforeConnect(Sender: TObject);
begin
ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;'+
'Data Source='+Archivo+
';Extended Properties=Excel 8.0;'+
'Persist Security Info=False';
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
If OpenDialog1.Execute then begin
Archivo := OpenDialog1.FileName;
ADOConnection1.Connected := True;
ADOConnection1.GetTableNames(ComboBox1.Items,False);
end;
end;
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
ADODataSet1.CommandText := ComboBox1.Text;
AdoDataSet1.Open;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
AdoDataSet1.Close;
ADOConnection1.Connected := False;
end;
end.
Saludos.