IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez Discussion :

alternative a l'objet window media player dans un userform pour eviter le message d'avertissement de securité


Sujet :

Contribuez

  1. #1
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut alternative a l'objet window media player dans un userform pour eviter le message d'avertissement de securité
    Bonjour a tous

    Player excel V2.0

    certains parmi vous ont eu la désagréable surprise de voir apparaitre une message de sécurité vous avertissant l'utilisation d'un control ActivX quand un control media Player et c'est juste un enfer a supprimer ce message si tant est que se soit possible perso je n'y suis jamais arrivé

    cependant j'ai découvert une petite astuce vraiment par hasard en bricolant avec un webbrowser

    le principe et de metre une balise object "fash" dans le document mais sans fichier swf de paramétrage
    la balise va prendre alors les paramètre du lecteur par défaut de Windows ca tombe bien c'est celui que l'on veut
    et voila le tour est jouer on a un Wmp dans un userform sans le message de sécurité puis qu'il est dans un document html transporter par le webbrowser

    prenez un userform metez lui un webbrowser

    ensuite dans le activate du userform metez ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Private Declare Function SWL Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Private Declare Function SendMessageA Lib "user32" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Long) As Long
    Private Declare Function ExtractIconA Lib "shell32.dll" (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As Long
     
     
    Private Sub UserForm_Activate()
        Me.Caption = "Excel Player V2.0: lecture de : " & StrReverse(Split(StrReverse(Me.Tag), "\")(0))
        H = FindWindow(vbNullString, Me.Caption)    ' on determine le handle de l'userform
        x = ExtractIconA(0, "C:\Program Files\Windows Media Player\wmplayer.exe", 0)
        SendMessageA H, &H80, False, x
     
        Me.WebBrowser1.Move 0, 0, Me.InsideWidth + 12, Me.InsideHeight, 0
        video = Replace("H:\" & Me.Tag, "\", "/")
        'ecriture du code html dans le webbrowser
        code = code & "<!DOCTYPE html PUBLIC ""-//W3C//DTD XHTML 1.0 Strict//EN"" ""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"">" & vbCrLf
        code = code & "<html xmlns=""http://www.w3.org/1999/xhtml"" xml:lang=""fr"" >" & vbCrLf
        code = code & "<head><meta http-equiv=""Content-Type"" content=""text/html; charset=utf-8"" />" & vbCrLf
        code = code & "<style>* { margin:0; padding:0; }</style></head>" & vbCrLf
        code = code & "<body><div id=""DV"">" & vbCrLf
         code = code & "<embed src=""" & video & """ type=""application/x-shockwave-flash"" wmode=""transparent"" width=""100%"" height=""100%""></embed>" & vbCrLf
         code = code & "</div></body></html>" & vbCrLf
        With WebBrowser1
            .Navigate "about:blank"
            Do: DoEvents: Loop Until .ReadyState = 4
            .Document.write code
        End With
        SWL H, -16, &H94CF0080    ''j'ajoute le bouton minimiser et maximiser a la caption du userform avec l'api SetWindowLongA
        Debug.Print code
    End Sub
    Private Sub UserForm_Resize()
        WebBrowser1.Move 0, 0, Me.InsideWidth + 12, Me.InsideHeight, 0
    End Sub
    voila vous avez votre lecteur wmp dans votre userform
    pour que cela fasse plus vrai que nature j'ai ajouté l'icone wmp dans la caption ainsi que se deux bouton manquant et le resize a main levé qui font cruellement défaut a l'origine des userforms



    pour le lancer

    c'est simple
    il suffit de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub test
    With UserForm2
                .Show 0
                .Tag = "chemin du film"   ' ou de la musique  comme vous voulez 
                'on positionne le lecteur ou on veut et a la taille que l'on veut (l'object se resizera a la dimension  de l'userform tout seul j'ai tout prevu a l'intérieur  )
                .Left = 100
                .Top = 100
                .Width = 500
                .Height = 300
     
            End With
    end sub
    apercu
    Nom : demo2.gif
Affichages : 622
Taille : 1 020,5 Ko

    voila
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  2. #2
    Membre du Club
    Homme Profil pro
    Sans
    Inscrit en
    Novembre 2015
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Novembre 2015
    Messages : 92
    Points : 62
    Points
    62
    Par défaut
    Bonjour,
    Je viens de découvrir ce sujet après avoir crée une nouvelle discussion.
    Je souhaite le même résultat mais avec un .doc de word.
    Je ne suis pas doué en html, quelles seraient les lignes ajouter ?
    Merci.

Discussions similaires

  1. Réponses: 3
    Dernier message: 04/07/2015, 11h10
  2. [AC-2010] Probleme declaration objet windows media player
    Par jugedredd dans le forum VBA Access
    Réponses: 11
    Dernier message: 19/05/2015, 16h26
  3. Contrôle Windows Media player dans VB.NET 2008
    Par DAN14 dans le forum Windows
    Réponses: 0
    Dernier message: 13/10/2010, 19h46
  4. Réponses: 0
    Dernier message: 15/01/2009, 19h50
  5. [VB6] Inserer Windows Media player dans une form [Debutant]
    Par MegaBigBoss dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 04/03/2006, 12h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo