Bonjour,
J'ai parcouru <> faq delphi/excel et je sais ouvrir et fermer des classeurs mais je n'ai pas trouvé comment vérifié si un classeur est ouvert ou non.
Ma question est donc implicite.
Merci.
Bonjour,
J'ai parcouru <> faq delphi/excel et je sais ouvrir et fermer des classeurs mais je n'ai pas trouvé comment vérifié si un classeur est ouvert ou non.
Ma question est donc implicite.
Merci.
Le zen nous ramene, par notre travail sur nous-memes,
au monde ordinaire pour devenir tout simplement des gens ordinaires.
Salut,
a prioris un classeur ( Workbook) fermé n'est plus dispos sous Excel.
Regarde dans la collection Workbooks si le classeur existe ou pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3Collection Workbooks Collection de tous les objets Workbook actuellement ouverts dans l'application Microsoft Excel.
Tutoriels Delphi Win32/Delphi .NET/Oracle/PowerShell - FAQ Delphi - FAQ Delphi .NET
Beatus, qui prodest, quibus potest.
Merci ... Je vais essayer sur le champ.
Le zen nous ramene, par notre travail sur nous-memes,
au monde ordinaire pour devenir tout simplement des gens ordinaires.
J'utilise ce cvode pour fermer tout classeur ouvert à partir du moment ou il y en a un d'ouvert.
Malheureusement le count renvoit tjrs zero même si j'ai des classeurs d'ouvert.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 If form2.ExcelApplication1.Workbooks.Count <> 0 Then begin for cpt := 0 to form2.ExcelApplication1.Workbooks.Count do form2.ExcelApplication1.Workbooks.Close( cpt); end;
Le zen nous ramene, par notre travail sur nous-memes,
au monde ordinaire pour devenir tout simplement des gens ordinaires.
Oui mais comment laurent c'est le theme de ma question.Regarde dans la collection Workbooks si le classeur existe ou pas.
Le zen nous ramene, par notre travail sur nous-memes,
au monde ordinaire pour devenir tout simplement des gens ordinaires.
Salut,
a prioris pas de pb de mon coté
Ensuite tu peux essayer de charger un fichier, en utilisant son nom, via la propriété item :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 var cpt : longint; FileName:string; Worksheet: variant; begin If ExcelApplication1.Workbooks.Count <> 0 Then begin MessageDlg(IntToStr(ExcelApplication1.Workbooks.Count), mtWarning, [mbOK], 0); for cpt := ExcelApplication1.Workbooks.Count downto 1 do begin Worksheet:=ExcelApplication1.Workbooks.Item[cpt]; FileName:=Worksheet.Fullname; MessageDlg(FileName, mtWarning, [mbOK], 0); Worksheet.Close; MessageDlg(IntToStr(ExcelApplication1.Workbooks.Count), mtWarning, [mbOK], 0); end; // Ou en lieu et place de la boucle //ExcelApplication1.Workbooks.Close(0); MessageDlg(IntToStr(ExcelApplication1.Workbooks.Count), mtWarning, [mbOK], 0); end; end;
Si il n'existe pas, une erreur OLE sera levée, à vérifier.expression.Item(Index)
expression Obligatoire. Expression qui renvoie un objet Workbooks.
Index Argument de type Variant obligatoire. Nom ou numéro d'index du classeur.
A+
Tutoriels Delphi Win32/Delphi .NET/Oracle/PowerShell - FAQ Delphi - FAQ Delphi .NET
Beatus, qui prodest, quibus potest.
Merci ...
Le zen nous ramene, par notre travail sur nous-memes,
au monde ordinaire pour devenir tout simplement des gens ordinaires.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager