FAQ DelphiConsultez toutes les FAQ
Nombre d'auteurs : 124, nombre de questions : 934, dernière mise à jour : 23 octobre 2024 Ajouter une question
Cette FAQ a été réalisée à partir des questions fréquemment posées sur les forums Delphi et Delphi et bases de données de www.developpez.com et de l'expérience personnelle des auteurs.
Nous tenons à souligner que cette FAQ ne garantit en aucun cas que les informations qu'elle propose soient correctes. Les auteurs font le maximum, mais l'erreur est humaine. Cette FAQ ne prétend pas non plus être complète. Si vous souhaitez y apporter des corrections ou la compléter, contactez un responsable (lien au bas de cette page).
Nous espérons que cette FAQ saura répondre à vos attentes. Nous vous en souhaitons une bonne lecture.
L'équipe Delphi de Developpez.com.
- Comment gérer le mode de calcul ?
- Comment exécuter une macro contenue dans un classeur ?
- Comment obtenir un nom de fichier avec la boîte de dialogue Ouvrir d'Excel ?
- Comment utiliser une boîte de saisie d'Excel ?
- Comment connaître ou définir l'imprimante active ?
- Comment activer/désactiver un élément de menu ?
- Comment utiliser les fonctions intégrées d'Excel ?
- Comment vider le presse-papier ?
- Comment supprimer les messages d'avertissement ?
- Comment rendre Excel visible ?
La variable ExcelApplication1.Calculation[0] permet de connaître ou modifier le mode de calcul en cours.
Les valeurs possibles sont :
- xlCalculationAutomatic : Mode de calcul automatique
- xlCalculationManual : Mode de calcul manuel
- xlCalculationSemiautomatic : Mode de calcul semi-automatique
Par exemple pour passer en mode de calcul manuel, il suffit de faire :
Code delphi : | Sélectionner tout |
ExcelApplication1.Calculation[0]:=xlCalculationManual;
Code delphi : | Sélectionner tout |
ExcelApplication1.Calculate;
La méthode TExcelApplication.Run permet d'exécuter une macro.
Par exemple si le classeur Tuto.xls contient la macro MaSomme définie comme suit :
Code vb : | Sélectionner tout |
Private Function MaSomme(Oper1 as Double, Oper2 as Double) As Double
Code delphi : | Sélectionner tout |
Resultat:=ExcelApplication1.Run('Tuto.xls!MaSomme',2.2,3.3);
La méthode TExcelApplication.GetOpenFilename permet d'ouvrir la boite de dialogue "ouvrir" d'Excel et d'en obtenir le fichier sélectionné.
Dans le cas de l'annulation de la fenêtre, la valeur retournée est 'False'.
Code delphi : | Sélectionner tout |
1 2 3 4 5 6 7 8 | procedure TForm1.Button1Click(Sender: TObject); Var Resultat:OleVariant; begin Resultat := ExcelApplication1.GetOpenFilename; If Resultat='False' Then ShowMessage('Annulé !') Else ShowMessage(Resultat); end; |
Pour utiliser une boîte de saisie d'Excel, utilisez la méthode TExcelApplication.InputBox
Code delphi : | Sélectionner tout |
1 2 3 4 5 6 7 8 | procedure TForm1.Button1Click(Sender: TObject); Var Resultat:OleVariant; begin Resultat:=ExcelApplication1.InputBox('entrez une valeur','SAISIE','coucou',10,10); If Resultat='False' Then ShowMessage('Annulé !') Else ShowMessage(Resultat); end; |
- La chaîne affichée dans la boite
- Le titre de la boite
- La valeur initiale de la saisie
- La position de la fenêtre.
De même que les composants TOpenDialog/TSaveDialog de Delphi, ces boites de dialogues n'effectuent aucune opération de lecture/sauvegarde. Elle permettent juste de sélectionner un nom de fichier.
Pour connaître ou définir l'imprimante active, il faut utiliser la propriété TExcelApplication.ActivePrinter[0]
Code delphi : | Sélectionner tout |
1 2 3 4 5 | { Afficher l'imprimante active} ShowMessage(ExcelApplication1.ActivePrinter[0]); { Changer l'imprimante active} ExcelApplication1.ActivePrinter[0]:='HP Laserjet 4100 PS'; |
Un élément de menu est activé ou désactivé à l'aide de la méthode Set_Enabled de l'élément en question. L'élément est défini par son numéro de menu et sa position dans le menu. La position peut être donnée par le nom en clair :
Code delphi : | Sélectionner tout |
ExcelApplication1.CommandBars[1].Controls['Outils'].Set_Enabled(False);
Code delphi : | Sélectionner tout |
1 2 3 4 | Var MonOleVar:OleVariant; ... MonOLEVar:=ExcelApplication1.CommandBars[1].Controls['Outils']; MonOLEVar.Controls[2].Enabled:=False; |
Pour utiliser les fonctions intégrées d'Excel, il suffit d'appeler la méthode correspondante de l'objet TExcelApplication.WorksheetFunction.
Par exemple pour appeler la fonction "moyenne" :
Code delphi : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 | procedure TForm1.Button1Click(Sender: TObject); Var Resultat:OleVariant; begin Resultat:=ExcelApplication1.WorksheetFunction.Average(10,20,30,40,50,60, EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam); ShowMessage(Resultat); end; |
Pour vider le presse-papier d'Excel :
Code delphi : | Sélectionner tout |
ExcelApplication1.CutCopyMode[0]:=False;
Pour supprimer les messages d'avertissement, mettez à False la propriété TExcelApplication.DisplayAlerts[0]
Code delphi : | Sélectionner tout |
ExcelApplication1.DisplayAlerts[0]:=False;
Pour rendre Excel visible (afin que l'utilisateur remplisse la feuille), utiliser la commande suivante :
Code delphi : | Sélectionner tout |
ExcelApplication1.Visible[0]:=true;
Proposer une nouvelle réponse sur la FAQ
Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour çaLes sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.