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 :

Detecter la version d'Excel


Sujet :

API, COM et SDKs Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 20
    Par défaut Detecter la version d'Excel
    Salut pour tout,

    je voulus savoir comment détecter la version d'Excel ou d'office installer ?

    j'ai fais se bout de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if Format = tXlsFormat then
    FileFormat := varNull
    else 
    FileFormat := xlCSV ;
    mais ceci ne marche pas sur des version d,excel ulterieur a 2007

    est ce quelqu'un peut m'aider et merci d'avance.

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 086
    Par défaut
    Pourquoi faire compliquer ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var
      ExcelApp: OleVariant;
    ...
      ExcelApp := CreateOleObject('Excel.Application');
      ShowMessage(Format('Excel Version %s: ', [ExcelApp.Version]));
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre averti
    Inscrit en
    Août 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 20
    Par défaut
    Merci pour votre réponse sa marche,

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 21
    Par défaut
    Salut

    je cherche à savoir dans quelle version est enregistré le classeur.

    avez vous une idée ?

    merci

  5. #5
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 086
    Par défaut
    WorkBook dans la MSDN

    Tu as Format ou FileFormat dans le WorkBook, il te te renvoie l'énumération
    XlFileFormat !

    On peut espérer que cette propriété existe depuis le début de Excel


    Sinon le plus approchant CalculationVersion, en espérant qu'il n'est pas recalculé par la version ouvrante !
    Un Fichier Excel généré par TMS FlexCell par exemple, les calculs ne sont pas mis à jour lors des modifications, à l'époque, j'avais trouvé la parade en ouvrant un Excel masqué, cela modifiait le fichier actif, puis un SaveAs pour récupérer le fichier (tout en veillant à conserver le format binaire xls même sous Excel 2007)
    Une fois le fichier enregistré, le ouverture suivante ne provoquait pas de modification, on peut donc espérer que la version reste la bonne!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    var
      ExcelApp: OleVariant;
      vXLWorkbooks, vXLWorkbook : variant;
      aFileName : AnsiString;
    begin
      ExcelApp := CreateOleObject('Excel.Application');
      ShowMessage(Format('Excel Version %s: ', [ExcelApp.Version]));
     
      aFileName := 'c:\Home\Sources\Delphi\classeur1.xls';
      vXLWorkbooks := vMSExcel.Workbooks;
      vXLWorkbook := vXLWorkbooks.Open(vFileName);
     
      ShowMessage(Format('Fichier Excel Version %d: ', [vXLWorkbook.CalculationVersion])); 
    end;
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 21
    Par défaut
    merci....

    j'ai trouver aussi FileFormat

    je doit vérifier à l'ouverture du classeur que celui ci est bien au format excel 97-2003.

    et ça doit marcher avec excel 97,2003,2007,2010

    je sèche un peu...

Discussions similaires

  1. comment detecter si word ou excel ou outlook est installé?
    Par minette dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 11/08/2006, 18h24
  2. [VBA-E] Trouver la version d'excel
    Par Elstak dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/04/2006, 14h14
  3. Réponses: 3
    Dernier message: 22/11/2005, 17h49
  4. Comment recupérer la version d'Excel avec VBA ?
    Par ikoto dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/09/2005, 18h51
  5. [Shell]Détecter la version de java dans un script
    Par sc_wizard29 dans le forum Général Java
    Réponses: 4
    Dernier message: 01/07/2005, 10h00

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