Exécuter l'application liée à l'extension d'un fichier

Soyez le premier à donner votre avis sur cette source.

Snippet vu 14 260 fois - Téléchargée 64 fois

Contenu du snippet

Si vous voulez :
- ouvrir un fichier .html ou .txt en utilisant le navigateur, ou l'éditeur par défaut
- ouvrir n'importe quel fichier sans vous demander quelle application est liée à l'extension de ce fichier (interrogation à ce poser en utilisant un Shell classique)

ce code est pour vous.

Source / Exemple :


'Déclarer cette fonction dans un module :

Public Declare Function ShellExecuteA Lib "shell32" (ByVal hwnd As Long, ByVal LPFile As String, ByVal PathFile As String, ByVal Other As String, ByVal Other2 As String, ByVal Param As Long) As Long

'Pour l'exécution :

Dim RetVal

RetVal = ShellExecuteA(0, "Open", "Chemin_et_nom_du_fichier", "", "", 10)

Conclusion :


Exemple : L'ouverture de C:\MesDocuments\Monfichier.xls se fera automatiquement par Excel

Il faut toutefois que l'extension du fichier à exécuter soit déjà lié à l'application, ce qui est généralement le cas.
Sinon, si vous voulez faire cette liaison en VB reportez vous au code dans la rubrique SHELL
"ASSOCIATION D'UNE EXTENSION A UNE APPLICATION (EX: *.DOC = MS WORD)" de jray.

A voir également

Ajouter un commentaire

Commentaires

benrahhal
Messages postés
5
Date d'inscription
jeudi 13 avril 2006
Statut
Membre
Dernière intervention
11 mai 2006
-
j'ai un problème car dans vb6 il me met un message d'erreur à l'éxecution du fichier
il me met
erreur de compilation
incorrect à l'ectérieur d'une procédure
nombre d'arguments incorrect ou affectation de proprieté incorrecte.
meme j'ai declarer la fonction shel execute.
si quelqu'un peut me filer la solution ca serait trop cool merci
cs_Waldo2188
Messages postés
142
Date d'inscription
jeudi 12 février 2004
Statut
Membre
Dernière intervention
20 mai 2008
-
Salut à tous.
Je vien d'essayer ce code mais j'ai une erreur.
Est-ce que quelqu'un pourais poster un exemple plus détaillé.
Merci
Waldo
cs_Turakam
Messages postés
35
Date d'inscription
samedi 31 août 2002
Statut
Membre
Dernière intervention
26 juin 2005
-
Salut,

Merci pour ta source car elle me sert bc mais j'ai une question comment faire pour lancé le prog executer en minisé et sans le focus.

Comme un peu shell "xxxxx",vbMinimizedNoFocus

Merci d'avance pour ta réponse

Turakam
cs_PimentRouge
Messages postés
4
Date d'inscription
vendredi 5 septembre 2003
Statut
Membre
Dernière intervention
3 février 2004
-
cool ça marche
(mais moi je l'ai déclaré en Private declare Function dans une feuille et ça marche tout autant)
Par contre comme je suis encore débutante, j'aurais bien voulu quelques cours sur l'explication des fonctions là :) , mais je doute d'en avoir vu que ça fait perpettre le allouettes que ce programmes a été posté (et je n'ai trouvé que celui là avec celui de jray sur une exécution de fichier...)

enfin bon, si quelqu'un passe par là et qu'il a la gentillesse de m'expliquer ByVal etc, que je meurs pas bête (ou du moins que je puisse expliquer mon programme si j'utilise ça)
merciii
Stormer
Messages postés
2
Date d'inscription
dimanche 1 avril 2001
Statut
Membre
Dernière intervention
4 mars 2002
-
Il faut déclarer Public Declare Function ShellExecuteA Lib "shell32" (ByVal hwnd As Long, ByVal LPFile As String, ByVal PathFile As String, ByVal Other As String, ByVal Other2 As String, ByVal Param As Long) As Long dans un module et non dans une feuille.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (cs_Darty)