| auteurs : Bidou, Ricky81 | Cela n'est pas possible en pilotage OLE Excel (impossible de récupérer l'ensemble sélectionné car l'appel se fait par une 'OleProcedure' qui par définition ne renvoie pas de résultat). Nous sommes obligés de passer par le composant TExcelApplication :
ExcelApplication1- > Connect ();
Variant file;
Variant title = StringToOleStr (" Titre " );
Variant multiselect = true ;
file = ExcelApplication1- > GetOpenFilename (EmptyParam, EmptyParam, title, EmptyParam, multiselect, 0 );
|
Le résultat est un Variant, mais il est nécessaire de faire la distinction pour le mode de sélection multiple. En effet, dans ce cas, c'est un Variant de type tableau qui est renvoyé (même si un seul fichier est finalement sélectionné), lequel doit être traité différemment. Dans le cas où c'est le bouton Annuler qui a été cliqué, un Variant simple ayant pour valeur "False" est renvoyé.
Voici un exemple de code qui permet de traiter les 2 modes :
if (file.IsArray ())
{
for (int i= 1 ; i<= file.ArrayHighBound (1 ) ; i+ + )
{
ShowMessage (file.GetElement (i));
}
}
else
{
ShowMessage (file);
}
|
Attention : Comme le composant TOpenDialog, cette boite de dialogue n'effectue aucune opération d'ouverture. Elle permet juste de sélectionner un ou plusieurs fichiers.
|
lien : Comment obtenir un nom de fichier avec la boite de dialogue enregistrer sous d'Excel ?
lien : Comment utiliser une boite de saisie Excel ?
|
| auteurs : Bidou, Ricky81 | Cela n'est pas possible en pilotage OLE Excel (impossible de récupérer l'ensemble sélectionné car l'appel se fait par une 'OleProcedure' qui par définition ne renvoie pas de résultat). Nous sommes obligés de passer par le composant TExcelApplication :
ExcelApplication1- > Connect ();
Variant file;
Variant initFile = StringToOleStr (" E:\\Ricky\\classeur.xls " );
Variant title = StringToOleStr (" Titre " );
file = ExcelApplication1- > GetSaveAsFilename (initFile, EmptyParam, EmptyParam, title, EmptyParam, 0 );
|
Le résultat est un Variant valant en particulier "False" dans le cas d'un recours au bouton Annuler.
Attention : Comme le composant TSaveDialog, cette boite de dialogue n'effectue aucune opération de sauvegarde. Elle permet juste de sélectionner un nom de fichier.
|
lien : Comment obtenir un nom de fichier avec la boite de dialogue ouvrir d'Excel ?
lien : Comment utiliser une boite de saisie Excel ?
|
| auteur : Ricky81 | Nous devons travailler avec le classeur ou la feuille que nous souhaitons afficher. Prenons l'exemple du classeur, défini par le Variant
vWorkbook :
vWorkbook.OleProcedure (" Activate " );
|
|
| auteur : Ricky81 | Nous allons travailler sur une instance d'Excel (Variant
vMSExcel).
vMSExcel.OlePropertySet (" WindowState " , vValue);
|
La valeur vValue est à choisir parmi les constantes suivantes appartenant à la classe XlWindowState
xlMaximized = - 4137
xlMinimized = - 4140
xlNormal = - 4143
|
|
Consultez les autres F.A.Q.
|
|