IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API, COM et SDKs Delphi Discussion :

Ouverture multiple de modèle mais, ils portent tous le même nom


Sujet :

API, COM et SDKs Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 6
    Par défaut Ouverture multiple de modèle mais, ils portent tous le même nom
    Bonjour à tous.

    J'ai créé une app. avec Delphi7 qui créer et formate des rapports dans Excel à partir d'un modèle (.xlt) que j'ai fait. Quand on ouvre un modèle directement avec Excel, le nom du fichier (caption) devient NomDuFichier1. Si j'ouvre à nouveau le même modèle, ce nouveau fichier prendra par défaut le nom de NomDuFichier2, puis NomDuFichier3 et ainsi de suite pour les suivants. Je me retrouve donc avec ces trois fichiers en référence sur ma barre de tâches, et dans le menu Fenêtre de Excel. Malgré tous mes essais, je n'arrive pas à reproduire ce comportement avec mon app. A chaque fois que j'ouvre le même modèle successivement, je me retrouve avec un nouveau fichier dans la barre de tâches (qui porte le même nom que le précédent), mais avec seulement un fichier dans le menu Fenêtre. Comment pourrais-je faire pour qu'à chaque fois que j'ouvre mon modèle, j'obtienne des nom de fichier avec un chiffre incrémenté?

    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
    Voici le code.
     
    var
      XLApp             : Variant;    // Application Excel
    ...
     
    begin
         XLApp := CreateOleObject('Excel.Application');
         XLApp.visible := false;
         gstrFichierModele := ExtractFilePath(Application.ExeName) + 'Rapport.xlt';
    end;
    ...
     
    begin
          XLApp.Workbooks.add(gstrFichierModele) ;
          XLApp.caption := 'Rapport - ' + dateToStr(Date);
    end;
    J'ai aussi par la suite essayé de palier à ce problème en forgant le nom du fichier. J'ai donc essayé de renommer le workbook mais j'obtenais toujours des exceptions avec cette commande.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    XLApp.Workbooks[1].Name := 'Rapport - ' + dateToStr(Date) + IntToStr(i) ;
    Des suggestions?

    Merci.

  2. #2
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par f.leduc
    Des suggestions?
    Pour le second pb, lire la doc
    Propriété Name telle qu'elle s'applique aux objets AddIn,...et Workbook.

    Renvoie le nom de l'objet. Argument de type String en lecture seule.
    Pour le premier essaie un SaveAs en incrémentant le nom.

Discussions similaires

  1. ouverture d'1 .pdf mais je voudrais le télécharger
    Par jomannix dans le forum Flash
    Réponses: 6
    Dernier message: 02/11/2006, 14h43
  2. Empecher l'ouverture multiple d'une application
    Par Revan777 dans le forum C++Builder
    Réponses: 3
    Dernier message: 11/10/2006, 14h33
  3. Réponses: 8
    Dernier message: 15/09/2006, 19h37
  4. Base de données access à ouverture multiple
    Par rangernoir dans le forum Access
    Réponses: 2
    Dernier message: 06/09/2005, 10h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo