Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 shell dans vba et les espaces

macseb

XLDnaute Nouveau
Salut tout le monde,

Je viens chercher de l'aide, J'ai déjà ratissé large mais sans succès. Je souhaiterais utiliser une commande shell dans vba pour lancer VLC et jouer un fichier précis.
Mon code est donc de ce type:
VB:
PID = Shell("C:/Program Files (x86)/VideoLAN/VLC/vlc.exe D:/Bureau/Vidéothèque/Anniv julie/Vidéos/001 - James Bond (Thème Du Film).mp3")
Le shell me lance bien VLC mais VLC m'affiche une erreur m'indiquant qu'il ne trouve pas le fichier indiqué, tout simplement comme le dossier "Anniv julie" contient un espace il considère ca comme la fin de la commande.
J'ai beau avoir essayé de remplacer les espaces du chemin vers mon fichier avec des %20, des ^, des ` et des \ rien à faire ca ne fonctionne pas...
Je vois plus trop quoi faire et je ne veux pas m'amuser à supprimer les espaces de tous les fichiers sons, je tiens à conserver ces espaces.

Est-ce que quelqu'un aurait une botte secrète s'il vous plait?
 
Solution
re
et pour compléter l'intérogation de @TooFatBoy
n'y aurait il pas des caractères particuliers dans le nom du fichier
car en ligne de commande ca peut jouer des tours

le mieux pour ne pas te tromper c'est d'aller dans le dossier de ton fichier
click droit en restant appuyé sur la touche MAJ
et là ton menu contextuel apparait mais avec un item en plus
l'item "copier le chemin d'accès"
tu click et tu vas dans ton vbe et tu colle dans ton code après l'exe

patricktoulon

XLDnaute Barbatruc
bonsoir
comme @job75 le dit ce n'est pas les bon séparateur
et pour les espaces dans les noms c'est comme les lignes de commandes en DOS il faut englober
le chemin de vlc et le nom entre guillemets

shell(chemin lecteur.exe+espace +""+chemin fichier+"""

moi j'ai la version vlc64 mais pour le 86 il faut faire pareil
VB:
Sub test()
PID = Shell("C:\Program Files\VideoLAN\VLC\vlc.exe ""D:\musiques\andrea boccelli- romanza\04. El Silencio de la Espera.mp3""")
End Sub
 

macseb

XLDnaute Nouveau
Merci pour vos informations, j'essaierai ça ce soir sûrement et je vous dirai mais il me semble avoir tenter également ce genre de guillemet double. J'ai découvert une autre "solution" en mettant des '?' a la place des espaces. Les erreurs de VLC disparaisse mais le fichier ne s'exécute pas pour autant, il n'y a que l'ouverture de VLC.

Bref j'essaierai vite fais vos soluces et je vous dis ça!
 

macseb

XLDnaute Nouveau
Re j'ai finalement tester rapidement avant d'aller au taf.
La solution de guillemet double lance bien VLC sans erreur mais de la même manière que la solution que j'avais trouvé avec les '?' ça ouvre VLC mais aucun fichier n'est chargé ??? Comment c'est possible ?
 

patricktoulon

XLDnaute Barbatruc
Bonjour @TooFatBoy
ça je sais pas
il doit bien y avoir des app 32 /64 bit pour Mac 64 de la même manière de Win
en tout cas je constante que beaucoup déménagent les dossiers spéciaux de win et utilisateur
mais visiblement tout ce qui est librairie et com VB ne gère plus correctement
l'exemple le plus parlant est la fonction environ

je me demande si ça vaut vraiment le coup
perso je me suis jamais servi des dossiers utilisateurs mes documents etc..etc...
j'ai des disques durs supp (internes et externes) je m'en sert
mon Windows a toujours été sur C
quand j'installe Windows je déconnecte les autres disques
je les reconnecte après

un autre exemple le dossier des téléchargement je ne m'en sert pas j'ai mon propre dossier téléchargement dans un autre disque
il suffit de le paramétrer dans ton navigateur
mon Win tombe en panne je ne perds rien
etc..etc...
 

TooFatBoy

XLDnaute Barbatruc
quand j'installe Windows je déconnecte les autres disques
je les reconnecte après
Perso, je trouve que c'est vraiment se compliquer la vie pour rien et je n'en vois pas l'intérêt. Mais j'ai peut-être bien loupé quelque chose.


en tout cas je constante que beaucoup déménagent les dossiers spéciaux de win et utilisateur
mais visiblement tout ce qui est librairie et com VB ne gère plus correctement
Ah bon ??? C'est quand même très très bête, parce que les "dossiers spéciaux" sont justement là pour ça...
 
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…