Se connecter avec
S'enregistrer | Connectez-vous

lancer application a partir de vba excel

Dernière réponse : dans Programmation

bonjour a tous!
petit nouveau en vba et sur ce forum, j'essaie de ma debrouiller avec l'aide ou le forum normalement, mais la je seche....

voici mon pb:
j'ai cree un userform, avec un commandbutton, j'aimerais que quand je clique sur le bouton, cela me lance une video en media player, mais ...

pour l'instant, j'ai ca:

Shell("C:\Program Files\Windows Media Player\wmplayer.exe""E:\chemin\fichiervideo.avi") = vbMaximizedFocus
mais ca me donne "erreur de compilation un appel de fonction dans la partie gauche de l'affectation doit renvoyer variant ou object"

j'ai aussi essayé ca:
Shell "C:\Program Files\Windows Media Player\wmplayer.exe E:\chemin\fichier video.avi", 3

la windows media player se lance, mais me dit qu'il ne peut pas lire ce fichier, en effet, pour nom de fichier, il prend la premiere partie du chemin (qui est en deux mots)

la je suis paume, il y a surement une subtilité, mais je vois pas

merci de votre aide
Lassé par la pub ? Créez un compte
Expert Programmation

LOL

Tu dois mettre le nom de l'exécutable entre guillemets puisqu'il contient des espaces. Si les chemins contiennent des espaces tu dois aussi mettre chacun de ces paramètres entre guillemets. Pour présenter la ligne de commande composée de ces chaînes guillemettées à la fonction Shell, tu dois tout remettre entre guillemets ( .. y'en a encore combien qui suivent :D  .. ). Pour mettre un guillemet entre guillements, il faut les doubler.

Allez, trève de bavardage, en résumé ça donne :
  1. Shell """C:\Program Files\Windows Media Player\wmplayer.exe"" ""E:\chemin\fichier video.avi""", vbMaximizedFocus


Enjoy !

-----------

Pour info, en VB, une fonction peut être considérée comme une procédure. Soit tu écris une procédure, cf. code précédant, soit tu écris une fonction. Mais si c'est une fonction, tu dois récupérer le résultat dans une variable ou équivant ( appelée LValue pour left value ). Exemple :

  1. Dim ID as Variant
  2. ID = Shell("""C:\Program Files\Windows Media Player\wmplayer.exe"" ""E:\chemin\fichier video.avi""", vbMaximizedFocus)
Lassé par la pub ? Créez un compte