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

Delphi Discussion :

[Pilotage d'excel] Comment gerer les differentes versions ?


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 129
    Par défaut
    Bonjour a tous !

    Je souhaiterais me lancer un peu dans la manipulation des applications Office, Excel en particulier, via Delphi.

    Par exemple j'essaye de coder une appli simple qui me permettrait d'ouvrir un workbook. Le but est de pouvoir ouvrir automatiquement, et en mode silencieux, un .xla contenant une macro workbook_open qui installerait une macro complementaire dans excel une bonne fois pour toute sans que l'utilisateur est a interagir de maniere a diffuser facilement des macros complementaires sur plusieurs postes.

    Deux questions : comment gerer les espaces dans les paramstr(i) ? En faite je voudrais executer mon appli en ligne de commande genre : OpenWorkBook le chemin de mon appli. OpenWorkbook etant le nom de mon appli Delphi. Il y a-t-il une solution moins cochon que de reconstruire le chemin de l'appli en concatenant tous les paramstr(i) et en rajoutant des ' ' entre chacun ?

    Existe-t-il un composant generique qui en fonction de la version d'excel presente sur le systeme s'adapte a lui ? Sinon comment faire ?

    Merci pour vos reponses !

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    procedure TfrmMain.FormCreate(Sender: TObject);
    var NomClasseur : ansistring;
        i : integer;
        vMSExcel,vXLWorkbooks : variant;
    begin
      ShowWindow(Application.Handle, SW_HIDE);
     
      If Paramcount > 1 then
      begin
        nomclasseur := '';
        for i := 1 to paramcount do
        begin
          nomclasseur := nomclasseur + paramstr(i);
          if i < paramcount then nomclasseur := nomclasseur + ' ';
        end;
     
        if fileexists(nomclasseur) then
        begin
          try
            vMSExcel := GetActiveOleObject('Excel.Application');
          except
            vMSExcel := CreateOleObject('Excel.Application');
          end;
          vXLWorkbooks := vMSExcel.Workbooks;
          vXLWorkbooks.Open(NomClasseur);
     
          vMSExcel.Quit;
          vMSExcel := unassigned;
        end
        else
        begin
          showmessage(Nomclasseur + ' introuvable');
        end;
      end;
     
      application.terminate;
    end;


    Par contre est-ce que quelqu'un peut me confirmer que la facon dont j'ai procedé pour la gestion des espaces dans les parametres de la ligne de commande est bien la seule solution ?

    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
    Regarde CmdLine qui te renvoie la ligne de commande complète.

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 129
    Par défaut
    ou alors en lisant l'aide en ligne j'aurai pu voir qu'il suffisait de mettre un parametre entre guillemet pour qu'il tienne compte des espaces tout seul

    Merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Pilotage d'Excel]Comment définir les formats des cellules
    Par Masmeta dans le forum Windows Forms
    Réponses: 1
    Dernier message: 03/04/2008, 18h34
  2. [VBA Excel] Comment gerer les combobox sur un Userform
    Par Igloobel dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/02/2007, 21h30
  3. [SAX] Comment gerer les erreurs soulevés par sax
    Par tipaquo dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 03/07/2005, 12h00
  4. Réponses: 5
    Dernier message: 27/04/2005, 16h49
  5. [Exception]Comment gérer les exceptions ?
    Par Gildas Huart dans le forum Général Java
    Réponses: 7
    Dernier message: 29/03/2005, 18h01

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