Passage des paramètres utils à une fonction/procedures

Résolu
stmic Messages postés 2 Date d'inscription mercredi 17 mars 2004 Statut Membre Dernière intervention 5 mars 2015 - 5 mars 2015 à 21:50
korgis Messages postés 420 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 6 mai 2019 - 7 mars 2015 à 17:48
Bonjour,

J'ai récupéré du code ou seuls les paramètres utilisés étaient passé a l'appel de la fonction. J'ai vu cela dans un source OLE Excel et la syntaxe est la suivante:

Ex.ActiveWorkBook.SaveAs(Filename := SaveAsFileName, FileFormat := 56);

Filename et FileFormat sont bien des paramètres du SaveAS mais lorsque je compile l'exemple sous Delphi 7 le compilateur rejette l'instruction avec le message:

identificateur non déclaré : 'Filename'

Existe-t-il un directive de compilation permettant cette syntaxe ?

Si quelqu'un connait la solution je serais bien content de la découvrir...

Merci d'avance.
Michel

4 réponses

sp40 Messages postés 1276 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 15
Modifié par sp40 le 6/03/2015 à 09:18
Salut,

Tu peux poster la procédure complète ? (ou l'unité même...)

Simon
0
cs_yanb Messages postés 271 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 7 juillet 2022 14
Modifié par cs_yanb le 6/03/2015 à 10:18
Salut,
Le SaveAs d'un ActiveWorkBook ressemble plus à ceci sous D7:
procedure SaveAs(Filename: OleVariant; FileFormat: OleVariant; etc...);

Exemple d'utilisation
Ex.ActiveWorkBook.SaveAs(SaveAsFileName, 56, etc...); 

@+
0
dubois77 Messages postés 675 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 19 février 2019 14
7 mars 2015 à 10:54
Salut
Dans tous les cas la syntaxe delphi est mauvaise
au minimun cela doit ressemble à celà :
Ex.ActiveWorkBook.SaveAs(Filename := SaveAsFileName, FileFormat := 56); devient :
Ex.ActiveWorkBook.SaveAs(Filename :string = SaveAsFileName, FileFormat :integer = 56);

pas de := dans le passage de paramètres !
0
korgis Messages postés 420 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 6 mai 2019 17
7 mars 2015 à 17:48
Salut,

Le 2ème paramètre est le format par défaut, il n'est donc pas forcément utile de le préciser.

La syntaxe correcte est celle-ci, 'C:\MonFichier.xls' étant le fichier de destination de la sauvegarde du classeur actif :

var
  FileName: string;
begin
  FileName := 'C:\MonFichier.xls'; // fichier que tu veux obtenir
  Ex.ActiveWorkBook.SaveAs(Filename);
end;


C'est tout simple...
0
Rejoignez-nous