Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment retrouver le type de fichier?

3 réponses
Avatar
Noegor
Bonsoir et bonne année 2007,
Dans la colonne A d'une feuille, j'ai stocké des noms de fichier et par VBA,
en fonction du type de fichier, j'ouvre soit WORD pour un .doc, soit MEDIA
PLAYER pour un .mp3 etc...pour ce faire grace à la formule magique suivante
je récupère l'extention et lance l'application adéquat.
fichierFormat = (Len(FichierDoc)) - (InStr(1, FichierDoc, ".", 1))
extension = Right(FichierDoc, fichierFormat)
Tout ceci fonctionne très bien, mais il arrive qu'il y ait un point
intempestif dans le nom du fichier, ce qui contrarie sérieusement le
déroulement de mon programme...
En fait, je suis à la recherche d'une solution qui m'éviterait de tester
l'extension, du genre : If WORD FILE.... ou encore if POWERPONT FILE....
Merci à celle ou celui qui saura éclairer ma lanterne.
Noégor

3 réponses

Avatar
h2so4
voir la réponse donnée par Eliotnaiss dans un message récent. "excel pour
ouvrir un PDF"

le programme est lancé en fonction de l'extension.


Utilise la fonction API ShellExceute, elle se débrouille très bien toute
seule pour retrouver l'exécutable du fichier que tu fournis en paramètre :

'''''''''''''''''''''''
'(dans un module ordinaire)
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Sub ShellOuvre()
Dim fich
fich = "LecteurCheminCompletEtFichier.pdf"
ShellExecute 0, "open", fich, "", "", 0
End Sub
'''''''''''''''''''''''

----------
Ange Ounis
----------



"Noegor" wrote in message
news:eY%

Bonsoir et bonne année 2007,
Dans la colonne A d'une feuille, j'ai stocké des noms de fichier et par
VBA, en fonction du type de fichier, j'ouvre soit WORD pour un .doc, soit
MEDIA PLAYER pour un .mp3 etc...pour ce faire grace à la formule magique
suivante je récupère l'extention et lance l'application adéquat.
fichierFormat = (Len(FichierDoc)) - (InStr(1, FichierDoc, ".", 1))
extension = Right(FichierDoc, fichierFormat)
Tout ceci fonctionne très bien, mais il arrive qu'il y ait un point
intempestif dans le nom du fichier, ce qui contrarie sérieusement le
déroulement de mon programme...
En fait, je suis à la recherche d'une solution qui m'éviterait de tester
l'extension, du genre : If WORD FILE.... ou encore if POWERPONT FILE....
Merci à celle ou celui qui saura éclairer ma lanterne.
Noégor



Avatar
FxM
Bonjour,

Outre la réponse parfaitement adaptée de mon collègue 'corrosif' (les
chimistes comprendront), tu peux voir du coté de strreverse et instrrev

strreverse retourne une chaine de caractères
tandis que
instrrev cherche un caractère à partir de la fin de la chaine

Sub test()
txt = "ab.c.de"
aaa = StrReverse(txt) 'donne "ed.c.ba"
x = InStrRev(txt, ".") 'donne 5
End Sub

@+
FxM


Bonsoir et bonne année 2007,
Dans la colonne A d'une feuille, j'ai stocké des noms de fichier et par VBA,
en fonction du type de fichier, j'ouvre soit WORD pour un .doc, soit MEDIA
PLAYER pour un .mp3 etc...pour ce faire grace à la formule magique suivante
je récupère l'extention et lance l'application adéquat.
fichierFormat = (Len(FichierDoc)) - (InStr(1, FichierDoc, ".", 1))
extension = Right(FichierDoc, fichierFormat)
Tout ceci fonctionne très bien, mais il arrive qu'il y ait un point
intempestif dans le nom du fichier, ce qui contrarie sérieusement le
déroulement de mon programme...
En fait, je suis à la recherche d'une solution qui m'éviterait de tester
l'extension, du genre : If WORD FILE.... ou encore if POWERPONT FILE....
Merci à celle ou celui qui saura éclairer ma lanterne.
Noégor




Avatar
Noegor
Bonsoir,
Merci de vos réponses rapides, j'ai encore progressé.
Noégor
"Noegor" a écrit dans le message de news:
eY%

Bonsoir et bonne année 2007,
Dans la colonne A d'une feuille, j'ai stocké des noms de fichier et par
VBA, en fonction du type de fichier, j'ouvre soit WORD pour un .doc, soit
MEDIA PLAYER pour un .mp3 etc...pour ce faire grace à la formule magique
suivante je récupère l'extention et lance l'application adéquat.
fichierFormat = (Len(FichierDoc)) - (InStr(1, FichierDoc, ".", 1))
extension = Right(FichierDoc, fichierFormat)
Tout ceci fonctionne très bien, mais il arrive qu'il y ait un point
intempestif dans le nom du fichier, ce qui contrarie sérieusement le
déroulement de mon programme...
En fait, je suis à la recherche d'une solution qui m'éviterait de tester
l'extension, du genre : If WORD FILE.... ou encore if POWERPONT FILE....
Merci à celle ou celui qui saura éclairer ma lanterne.
Noégor