XL 2010 Lecture video via VBA [RESOLU]

herve62

XLDnaute Barbatruc
Supporter XLD
Bonsoir
J'ai repris 2 appli de 2 ;3 ans et la fonction qui me permettait de lire des vidéos suite à un choix dans une appli ne fonctionne plus ?
Je viens de recréer un petit exemple seul ... idem !
Apparemment celà bloque sur DblQuote ?
Ou alors la fonction WmPlayer n'est plus supportée en 2010 ?
 

Pièces jointes

  • Lect_video.xlsm
    19.5 KB · Affichages: 10

TooFatBoy

XLDnaute Barbatruc
Bonjour,

Apparemment celà bloque sur DblQuote ?
Oui forcément si tu appelles une fonction mais que tu ne la définis pas, ça ne peut pas marcher. ;)

VB:
Private Sub CommandButton1_Click()
'
    ficvideo = "I:\Musiques\_CLIPS\Dapa Deep - Always With You (1080p_30fps_H264-128kbit_AAC).mp4"
    WmPlaySound (ficvideo)

End Sub

Function WmPlaySound(MySound)
'
Dim WshShell
    
    Set WshShell = CreateObject("WScript.Shell")
    WshShell.Run "wmplayer " & DblQuote(MySound), 4, False
    Set WshShell = Nothing

End Function

Function DblQuote(Str)
'
    DblQuote = Chr(34) & Str & Chr(34)

End Function
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil

Si j'étais moi, je me passerai de la fonction DblQuote ;)
Test OK sur W10
Code:
Function WmPlaySound(MySound)
Dim WshShell
    Set WshShell = CreateObject("WScript.Shell")
    WshShell.Run "wmplayer " & Chr(34) & MySound & Chr(34), 4, False
    Set WshShell = Nothing
End Function
 

Staple1600

XLDnaute Barbatruc
Bonsoir @TooFatBoy

Moi, quand je lis ceci
Apparemment celà bloque sur DblQuote ?
J'ai envie de rendre hommage à Raoul VOLFONI, alors je fais dans le radical ;)
Aux quatre coins de mon VBE qu'on va l’retrouver, éparpillé par petits bouts façon puzzle, le DblQuote !

Et quand je suis moi, je n'utilise jamais Excel(*) pour lire des médias mais VLC.
(et surtout pas Windows Media Player)

(*) même si il peut m'arriver de tester un batch MSDOS qui titille de la vidéo, n'est-il pas... ;))
 

herve62

XLDnaute Barbatruc
Supporter XLD
Bonjour
Bon quand on ne connait pas le contexte ....................... (stop là)
C'est une appli d'un pote de 2020 qu'il a créé avec l'aide du forum et je l'aide à se débrouiller !
Donc ce n'est pas de moi mais cette Fonction vient bien de quelqu'un d'ici !!
En plus c'est une appli éducative , elle permet de lire des fiches sur les champignons , explication de mots, lire des petites vidéos sur les champignons
 

patricktoulon

XLDnaute Barbatruc
Bonjour @herve62
une alternative c'est le VLC lecteur gratuit
si tu a VLC installé sur ton pc en 32 ou 64 bits
celle ci te lira ta video avec vlc
VB:
Function WmPlaySound(MySound) 'avec VLC(32/64 bits)
  Dim WshShell, A$, B$, C$
    A = "C:\Program Files\VideoLAN\VLC"
    B = "C:\Program Files (x86)\VideoLAN\VLC"
    If Dir(A, vbDirectory) <> "" Then C = A
    If Dir(B, vbDirectory) <> "" Then C = B
    If C = "" Then MsgBox "Vous n'avez pas VLC installé sur votre pc": Exit function
    Set WshShell = CreateObject("WScript.Shell")
    WshShell.exec C & "\vlc.exe """ & MySound
    Set WshShell = Nothing
End Function
sinon ta fonction d'origine
VB:
Function WmPlaySound(MySound)
    Dim WshShell
    Set WshShell = CreateObject("WScript.Shell")
    WshShell.Run "wmplayer """ & MySound
    Set WshShell = Nothing
End Function
 

TooFatBoy

XLDnaute Barbatruc
Bonjour
Bon quand on ne connait pas le contexte ....................... (stop là)
C'est une appli d'un pote de 2020 qu'il a créé avec l'aide du forum et je l'aide à se débrouiller !
Donc ce n'est pas de moi mais cette Fonction vient bien de quelqu'un d'ici !!
En plus c'est une appli éducative , elle permet de lire des fiches sur les champignons , explication de mots, lire des petites vidéos sur les champignons
Perso, un simple "merci", pour t'avoir retrouvé ta fonction perdue (même sans connaître le contexte, qui n'a d'ailleursrien à voir), m'aurait suffit. 😉
 

TooFatBoy

XLDnaute Barbatruc
Faudra me dire ou j'ai écrit qu'elle était perdue ???
Tu ne l'as pas écrit en toutes lettres, mais on voit immédiatement qu'elle est manquante dans ton code et vu qu'avant ça fonctionnait d'après ce que tu nous dis, c'est donc qu'elle est perdue. 😁


de toute façon ça ne fonctionne pas
Bien sûr que si : une fois la fonction manquante ajoutée, ça fonctionne chez moi et chez Staple1600. ;)

As-tu WMP installé sur ton PC ???
 

fanch55

XLDnaute Barbatruc
Bonjour à tous,
Fonction amendée de @patricktoulon à tester :
VB:
Function WmPlay(FileToPlay As String)
    Dim WshShell As Object, Fso As Object
    Set Fso = CreateObject("Scripting.FileSystemObject")
        If Fso.FileExists(FileToPlay) Then
            FileToPlay = """" & FileToPlay & """"
            Wmp = "\Windows Media Player\wmplayer.exe"
            Set WshShell = CreateObject("WScript.Shell")
                Select Case True
                Case Fso.FileExists(Environ("ProgramFiles") & Wmp)
                    WshShell.Run """" & Environ("ProgramFiles") & Wmp & """ " & FileToPlay
                Case Fso.FileExists(Environ("ProgramFiles(X86)") & Wmp)
                    WshShell.Run """" & Environ("ProgramFiles(X86)") & Wmp & """ " & FileToPlay
                Case Else: MsgBox "Wmplayer not found"
                End Select
            Set WshShell = Nothing
        End If
    Set Fso = Nothing
End Function
 

Statistiques des forums

Discussions
312 221
Messages
2 086 382
Membres
103 199
dernier inscrit
ATS1