Lien hypertexte et virus

rubilacxe

XLDnaute Nouveau
Bonjour,

Dans une cellule, creez un lien hypertexte sur un morceau de musique mp3.
Cliquez sur le lien pour l'executer et vous avez le message d'avertissement "Certains fichiers peuvent contenir des virus ......". Message que j'aimerai ne pas avoir.
Si l'on regarde dans ce forum il semblerait que la solution soit de régler le niveau de sécurité des macros au plus faible (outils\macro\securite).
Malgré ce réglage j'ai toujours le problème. Notez que le problème n'existe pas avec un fichier JPG par exemple.

Une idée ? Merci d'avance
 

MichelXld

XLDnaute Barbatruc
Re : Lien hypertexte et virus

bonjour

Je n'ai pas réussi à reproduire ton message d'Alerte (Excel2002, WinXP & Windows Media Player comme lecteur par défaut)

peux tu préciser dans quelle application s'ouvre le lien hypertexte ?

ps
(par sécurité justement) il faut eviter d'avoir le niveau de sécurité des macros à faible


bon apres midi
MichelXld
 
Dernière édition:

informatixo

XLDnaute Occasionnel
Re : Lien hypertexte et virus

Bonjour,

Si tu continu à dire oui, tu arriveras normalement sur le message : "Aucune application n'est associée". Je crois que le vrai problème vient de là !

Il te faudrait essayer avec une vidéo et des formats différents pour voir et tiens-nous au courant, j'ai peut-être une idée en fonction de ta réponse

A plus
 

informatixo

XLDnaute Occasionnel
Re : Lien hypertexte et virus

Bonjour à tout le monde,

myDearFriend! c'est effectivement ce à quoi je pensais.

Code:
[SIZE=2][COLOR=navy]Option Explicit[/COLOR]

[COLOR=green]'A placer en zone de déclarations en entête de module[/COLOR]
[COLOR=navy]Private Declare Function[/COLOR] ShellExecuteA [COLOR=navy]Lib[/COLOR] "shell32.dll" ( _[/SIZE][SIZE=2][COLOR=navy]
ByVal[/COLOR] hwnd[COLOR=navy] As Long[/COLOR], [COLOR=navy]ByVal[/COLOR] lpOperation[COLOR=navy] As String[/COLOR], _
[/SIZE][SIZE=2][COLOR=navy]ByVal[/COLOR] lpFile[COLOR=navy] As String[/COLOR], [COLOR=navy]ByVal[/COLOR] lpParameters[COLOR=navy] As String[/COLOR], _
[/SIZE][SIZE=2][COLOR=navy]ByVal[/COLOR] lpDirectory[COLOR=navy] As String[/COLOR], [COLOR=navy]ByVal[/COLOR] nShowCmd[COLOR=navy] As Long[/COLOR])[COLOR=navy] As Long[/COLOR][/SIZE]
[SIZE=2] 
[COLOR=green]'Commande l'ouverture du fichier .hlp[/COLOR]
[COLOR=navy]Private Sub[/COLOR] CommandButton14_Click()
[COLOR=navy]Dim [/COLOR]R[COLOR=navy] As Long[/COLOR]
      R = ShellExecuteA(0&, "[COLOR=Red]Open[/COLOR]", "[COLOR=gray]C:\essai\MonFichier.hlp[/COLOR]", 0, 0, 1)
[COLOR=navy]End Sub[/COLOR][/SIZE]
Mais à la seule différence que je lui proposerais de mettre "Play" au lieu de "Open" qui figure en rouge sur ton code.

Cette procédure est très interressante car elle permet de lancer un fichier avec son application par défaut. J'ai longtemps cherché à le faire en Visual Basic 6 jusqu'à ce que je découvre que pour les musiques et vidéos il fallait mettre "Play".

Une chose me paraît bizarre cependant car moi je n'ai pas la même syntaxe que toi, cela provient peut-être du fait que je l'avais développé sous Visual Basic 6 ? En tout cas je donne le code que j'avais :

Code:
Option Explicit
Public 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
Le code ci-dessus se trouve dans un module.

Code:
Private Sub CommandButton1_Click()
ShellExecute hwnd, "Play", "essai.mp3", "", "C:\", vbNormal
End Sub
Et le code ci-dessus se trouve dans le code du bouton qui lui se trouve placé sur une feuille excel.

J'ai donc essayé ce code sous excel mais sans succès. Je ne comprend pas pourquoi mais je confirme que ça fonctionne sous Visual Basic 6.

Je vais essayer de trouver pourquoi

A plus
 

myDearFriend!

XLDnaute Barbatruc
Re : Lien hypertexte et virus

Bonjour le fil,

La fonction API Shellexecute permet de lancer l'application associée (en base de registres) au document souhaité.
Si je fais un essai en laissant "open" comme dans l'exemple que je proposais à Jean et ce, même pour un fichier mp3...ça fonctionne.
Mais si tu penses que mettre "play" à la place (tout en le faisant fonctionner) c'est mieux, alors personnellement je n'y vois aucun inconvénient...

Cordialement,
 

informatixo

XLDnaute Occasionnel
Re : Lien hypertexte et virus

Bonjour le fil,

En fait myDearFriend!, je le précisais un peu plus haut, mais je l'avais fait sous Visual Basic 6.

Et sous Visual Basic 6 il faut mettre "Play" sinon ça ne marche pas. Je pensais que cette syntaxe serait facilement exportable sous Excel puisque c'est du VBA mais apparement ça ne fonctionne pas.

Pourtant j'ai testé ta méthode et la mienne en VBA mais rien à faire chez moi çà ne fonctionne pas (du moins sous VBA).

Je crois que j'ai des problèmes chez moi apparement, pour en être sûr pourrais-tu m'envoyer un classeur de chez toi où la syntaxe fonctionne correctement ?

Merci et à plus
 

myDearFriend!

XLDnaute Barbatruc
Re : Lien hypertexte et virus

Re le fil,

Je ne sais quoi te dire informatixo, te fournir un classeur ne changera rien à tes tests, le code que tu as mis est le bon.

Pour info, je mets un fichier Music001.mp3 à la racine du lecteur C puis je lance la procédure suivante (placée dans un module standard vierge) :
Code:
[SIZE=2]Option [COLOR=navy]Explicit[/COLOR]

[COLOR=navy]Private Declare Function[/COLOR] ShellExecuteA [COLOR=navy]Lib[/COLOR] "shell32.dll" ( _
      [COLOR=navy]ByVal[/COLOR] hwnd[COLOR=navy] As Long[/COLOR], [COLOR=navy]ByVal[/COLOR] lpOperation[COLOR=navy] As String[/COLOR], _
      [COLOR=navy]ByVal[/COLOR] lpFile[COLOR=navy] As String[/COLOR], [COLOR=navy]ByVal[/COLOR] lpParameters[COLOR=navy] As String[/COLOR], _
      [COLOR=navy]ByVal[/COLOR] lpDirectory[COLOR=navy] As String[/COLOR], [COLOR=navy]ByVal[/COLOR] nShowCmd[COLOR=navy] As Long[/COLOR])[COLOR=navy] As Long[/COLOR]

[COLOR=navy]Sub[/COLOR] Test()
[COLOR=navy]Dim [/COLOR]R[COLOR=navy] As Long[/COLOR]
      R = ShellExecuteA(0&, "[COLOR=navy]Open[/COLOR]", "C:\Music001.mp3", 0, 0, 1)
[COLOR=navy]End[/COLOR] Sub[/SIZE]
et ça fonctionne chez moi...
Pour info, mon lecteur est le lecteur par défaut : windows media
Pour info également (importante pour toi je pense), je viens de faire tester par JeanMarie (sur PC) cette procédure, son lecteur est iTunes, "Open" ou "Play" fonctionne aussi bien l'un que l'autre...

Cordialement,
 

informatixo

XLDnaute Occasionnel
Re : Lien hypertexte et virus

Bonjour le fil, le forum,

Alors je viens de tester ce matin (où je suis plus réveillé :D) et je viens de trouver pourquoi ça ne fonctionne pas.

C'est tout bête mais j'étais tellement focalisé sur Excel que j'en ai oublié de désactivé l'antivirus qui me bloque les macros office.

Une fois l'antivirus désactivé, j'ai retesté ton code et le mien et les 2 ont fonctionné.

Cependant j'ai testé les 2 codes avec "Open" et "Play" mais que ce soit le tien ou le mien ça ne fonctionne qu'avec "Play". J'ai retesté plusieurs fois mais rien à faire avec "Open".

J'ai Windows XP pro SP2, Excel 2003 (11.8033.8028) SP2 et Winamp 5.24

J'aimerais bien comprendre pourquoi ça ne marche pas avec "Open" chez moi -> bizarre

A plus
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 319
Membres
103 177
dernier inscrit
grizly