FAQ DelphiConsultez toutes les FAQ

Nombre d'auteurs : 123, nombre de questions : 919, dernière mise à jour : 14 juin 2019  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.

Commentez


SommaireMicrosoft OfficeMicrosoft ExcelExcel - Gestion de l'application (10)
précédent sommaire suivant
 

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;
Dans le cas d'un calcul manuel, il est possible de demander le calcul à l'aide de la commande suivante :
Code delphi : Sélectionner tout
ExcelApplication1.Calculate;

Mis à jour le 18 janvier 2014 bidou

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
Il est alors possible de lancer la macro à l'aide de la commande :
Code delphi : Sélectionner tout
Resultat:=ExcelApplication1.Run('Tuto.xls!MaSomme',2.2,3.3);

Mis à jour le 18 janvier 2014 bidou

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;
De même il est possible de faire appel à la boite "sauver sous" par la commande TExcelApplication.GetSaveAsFilename

Mis à jour le 18 janvier 2014 bidou

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;
Les paramètres donnés dans l'exemple sont, dans l'ordre :
  • 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.

Mis à jour le 18 janvier 2014 bidou

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';

Mis à jour le 18 janvier 2014 bidou

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);
L'exemple ci-dessus désactive le menu 'outils' en entier, pour désactiver un seul élément de menu il faut faire :
Code delphi : Sélectionner tout
1
2
3
4
Var MonOleVar:OleVariant; 
... 
MonOLEVar:=ExcelApplication1.CommandBars[1].Controls['Outils'];  
MonOLEVar.Controls[2].Enabled:=False;

Mis à jour le 18 janvier 2014 bidou

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;

Mis à jour le 18 janvier 2014 bidou

Pour vider le presse-papier d'Excel :

Code delphi : Sélectionner tout
ExcelApplication1.CutCopyMode[0]:=False;

Mis à jour le 18 janvier 2014 bidou

Pour supprimer les messages d'avertissement, mettez à False la propriété TExcelApplication.DisplayAlerts[0]

Code delphi : Sélectionner tout
ExcelApplication1.DisplayAlerts[0]:=False;

Mis à jour le 18 janvier 2014 bidou

Pour rendre Excel visible (afin que l'utilisateur remplisse la feuille), utiliser la commande suivante :

Code delphi : Sélectionner tout
ExcelApplication1.Visible[0]:=true;

Mis à jour le 18 janvier 2014 bidou

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 ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les 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 © 2019 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.

 
Responsables bénévoles de la rubrique Delphi : Gilles Vasseur - Alcatîz -

Partenaire : Hébergement Web