Nombre de feuille d'un document Excel ?? [Résolu]

Signaler
Messages postés
42
Date d'inscription
mercredi 8 juin 2005
Statut
Membre
Dernière intervention
13 octobre 2005
-
Messages postés
42
Date d'inscription
mercredi 8 juin 2005
Statut
Membre
Dernière intervention
13 octobre 2005
-
Bonjour!

Je souhaiterais savoir comment on peut faire pour connaître le nombre de feuille d'un document Excel

et renvoyer celui-ci dans un TEdit

J'ai juste fait:



procedure TTestSurExcel.InteroClasseurClick(Sender: TObject);

begin

if OpenExcel.Execute then

begin

OleApplication :=CreateOleObject('Excel.Application');

OleApplication.visible:=False;

OleWorkBook:=OleApplication.Workbooks.open(OpenExcel.FileName);

????

NbClasseur.Text:=???

end

end;



Et la je ne vois pas

2 réponses

Messages postés
198
Date d'inscription
mardi 6 août 2002
Statut
Membre
Dernière intervention
29 octobre 2008

Voici un code exemple :

unit UXL;


interface


uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, XPMan, StdCtrls;


type
TForm1 = class(TForm)
OD_SearchFile: TOpenDialog;
edFile: TEdit;
btSearchFile: TButton;
edNbSheet: TEdit;
lbNbSheet: TLabel;
XPManifest: TXPManifest;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure btSearchFileClick(Sender: TObject);
private
FXLApp : Variant;
FXLClasseur : Variant;
public
{ Déclarations publiques }
end;


var
Form1: TForm1;


implementation


Uses
ComObj;


{$R *.dfm}


procedure TForm1.FormCreate(Sender: TObject);
begin
//Crée un objet unique non initialisé de la classe spécifiée par le paramètre 'Excel.Application'
FXLApp:=CreateOleObject('Excel.Application');
//Rends l'application visible
FXLApp.Application.Visible:=True;
end;


procedure TForm1.FormDestroy(Sender: TObject);
begin
// Libère l'application XL
FXLApp := Unassigned;
end;


procedure TForm1.btSearchFileClick(Sender: TObject);
begin
// Recherche du fichier
OD_SearchFile.Execute;
edFile.Text := OD_SearchFile.FileName;
// Ouverture du classeur XL.
FXLClasseur := FXLApp.Workbooks;
FXLClasseur := FXLClasseur.Open(edFile.Text);
// Nombre de feuille dans le classeur
edNbSheet.Text := FXLClasseur.WorkSheets.count;


end;


end.

vaughan
Messages postés
42
Date d'inscription
mercredi 8 juin 2005
Statut
Membre
Dernière intervention
13 octobre 2005

Merci pour le .count; ça fonctionne



J'ai cherché un truc pour faire la même chose avec OpenOffice Classeur et j'ai trouvé l'équivalent: .GetCount;