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

VB 6 et antérieur Discussion :

[VB][VBA] Savoir si une application est installée


Sujet :

VB 6 et antérieur

  1. #1
    Membre expérimenté Avatar de DotNET74
    Homme Profil pro
    Watch R&D Engineer & Apprenti .NET
    Inscrit en
    Août 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Watch R&D Engineer & Apprenti .NET

    Informations forums :
    Inscription : Août 2003
    Messages : 1 986
    Points : 1 453
    Points
    1 453
    Par défaut [VB][VBA] Savoir si une application est installée
    Bonjour,

    Pour les besoins de mion application, je souhaiterais savoir si une application (Word, Excel etc..) est installé sur la machine.

    de ce fait, je peut ouvrir le fichier avec l'application et ainsi ne pas provoquer d'erreur...

    Merci

  2. #2
    Membre confirmé Avatar de La Praline
    Inscrit en
    Mars 2007
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2007
    Messages : 592
    Points : 568
    Points
    568
    Par défaut
    Bonjour,

    Outre le fait que nous citons la même expression d'Einstein dans notre signature ,

    je crainds de ne pas avoir très ien compris ce que tu entends par "installé"...
    Pourrais-tu préciser s'il te plait ?
    D'avance merci

    Cordialement




    ~~ La Praline ~~
    ... un choco "on comprend rien..."

  3. #3
    Membre expérimenté Avatar de DotNET74
    Homme Profil pro
    Watch R&D Engineer & Apprenti .NET
    Inscrit en
    Août 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Watch R&D Engineer & Apprenti .NET

    Informations forums :
    Inscription : Août 2003
    Messages : 1 986
    Points : 1 453
    Points
    1 453
    Par défaut
    en fait,

    J'ai une application dans laquelle je crée des liens sur des fichiers de toutes sortes et dans ma société, tout les utilisateurs n'ont pas forcément la même installation.

    Exemple:

    Un utilisateur A peut avoir MS Project alors qu'un utilisateur B ne l'aura pas.

    De ce fait, si l'utilisateur B double click sur le lien d'un fichier MS Project il y a ura plantage !

    Voilà

  4. #4
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    C'est depuis ton appli VB que l'utilisteur clique sur les liens ?
    Si oui, il suffit d'intercepter l'erreur que va te retourner VB je pense.

  5. #5
    Membre confirmé Avatar de La Praline
    Inscrit en
    Mars 2007
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2007
    Messages : 592
    Points : 568
    Points
    568
    Par défaut
    Bonjour,

    En effet je comprend mieux maintenant. Merci de ta précision.

    Concernant ton problème, je me demandais de quelle manière les poste de ton entreprise sont organisés...

    j'entends par là que si tous ont eu le même type d'installation(par exemple qu'un programme se trouve forcément dans "c:\Program Files\...") tu pourrait te servir d'une variable vérifiant si tel ou tel chemin existe ou pas, te donnant ainsi le programme installé ou pas...


    Peut être existe-il des astuces plus "jolies", moins "bourrins"... Mon idée n'est pas à prendre comme argent comptant(ni à prendre avec des pincettes d'ailleurs...)...
    En espérant t'avoir aidé...


    Cordialement



    ~~ La Praline ~~
    ... un choco bourrinus crétinus ???

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Voici un exemple trouvé sur la FAQ Access,

    http://access.developpez.com/faq/?pa...l#ExcelInstall

    Je te conseille la premiére en faisant un appel automation, en fait il s'agit d'une gestion d'erreur comme l'a écrit OhMonBato.

    A la place d'Excle, tu peux mettre Word, ...

    Devrais fonctionner en VB6

    Starec

  7. #7
    Membre expérimenté Avatar de DotNET74
    Homme Profil pro
    Watch R&D Engineer & Apprenti .NET
    Inscrit en
    Août 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Watch R&D Engineer & Apprenti .NET

    Informations forums :
    Inscription : Août 2003
    Messages : 1 986
    Points : 1 453
    Points
    1 453
    Par défaut
    J'ai trouvé !!

    En utilisant cette API on peut retrouver le chemin de l'application correspondante à un fichier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Declare Function FindExecutableA Lib "shell32.dll" (ByVal lpFile As String, ByVal lpDirectory As String, ByVal lpResult As String) As Long
    La fonction qui va bien:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Public Function FindExecutable(s As String) As String
       Dim i As Integer, s2 As String
       s2 = String(256, 32) & Chr$(0)
       i = FindExecutableA(s & Chr$(0), vbNullString, s2)
       If i > 32 Then
          FindExecutable = VBA.Left$(s2, VBA.InStr(s2, VBA.Chr$(0)) - 1)
       Else
          FindExecutable = "NotFound"
       End If
    End Function
    Voilà, si NotFound application pas installée....

    Merci pour votre aide

  8. #8
    Membre confirmé Avatar de La Praline
    Inscrit en
    Mars 2007
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2007
    Messages : 592
    Points : 568
    Points
    568
    Par défaut
    Mon idée n'était pas si bourin que ça finalement...

    Content que cela fonctionne.

    Bonne continuation.


    Cordialement



    ~~ La Praline ~~
    ... un choco pas si bourinus crétinus...

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

Discussions similaires

  1. Comment savoir si une application est installée ?
    Par kOrt3x dans le forum Développement iOS
    Réponses: 2
    Dernier message: 05/03/2013, 16h18
  2. Comment savoir si une application est installée
    Par bandit boy dans le forum C++Builder
    Réponses: 11
    Dernier message: 11/06/2010, 16h54
  3. Comment savoir si une application est lancée ?
    Par Teddy dans le forum Delphi
    Réponses: 2
    Dernier message: 02/07/2006, 19h33
  4. Savoir si une application est ouverte sur un poste distant
    Par bl4ckwolf dans le forum Développement
    Réponses: 3
    Dernier message: 17/05/2006, 21h25
  5. Savoir si une application est en cours d'exécution??
    Par Davidvb6 dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 24/03/2006, 08h33

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