Bonjour à tous,
j'utilise depuis longtemps une procédure qui me permet
d'ouvrir un fichier avec le logiciel qui lui est associé sous
Windows. Cela marche aussi pour les lien Internet.
Exemple :
NomFichier = DossierTemporaire & "Le_Rush_.txt"
LanceExeAssocie (NomFichier)
Mais aujurd'hui je viens de me rendre compte que cela marche
en IDE mais plus en EXE pour les liens Internet
NomFichier = "www.google.fr"
LanceExeAssocie (NomFichier)
Cela me donne le messge "Fichier non trouvé"
A tout hasard je place le code en dessous .............
'Déclarations nécessaires pour LanceExeAssocie
Public Declare Function ShellExecute Lib "shell32.dll" Alias
"ShellExecuteA" (ByVal hWnd As Long, ByVal lpszOp As String, ByVal
lpszFile As String, ByVal lpszParams As String, ByVal lpszDir As String,
ByVal FsShowCmd As Long) As Long
Public Declare Function GetDesktopWindow Lib "user32" () As Long
Const SW_SHOWNORMAL = 1
Const SE_ERR_FNF = 2&
Const SE_ERR_PNF = 3&
Const SE_ERR_ACCESSDENIED = 5&
Const SE_ERR_OOM = 8&
Const SE_ERR_DLLNOTFOUND = 32&
Const SE_ERR_SHARE = 26&
Const SE_ERR_ASSOCINCOMPLETE = 27&
Const SE_ERR_DDETIMEOUT = 28&
Const SE_ERR_DDEFAIL = 29&
Const SE_ERR_DDEBUSY = 30&
Const SE_ERR_NOASSOC = 31&
Const ERROR_BAD_FORMAT = 11&
Public Sub LanceExeAssocie(NomFichier As String)
Dim lghDC As Long, lgRep As Long
Dim stErreur As String
If NomFichier = "" Then
Exit Sub
End If
lghDC = GetDesktopWindow()
lgRep = ShellExecute(lghDC, "Open", NomFichier, "", "C:", SW_SHOWNORMAL)
If lgRep <= 32 Then
'Erreur à afficher en cas d'échec de l'appel
Select Case lgRep
Case SE_ERR_FNF
stErreur = "Fichier non trouvé"
Case SE_ERR_PNF
stErreur = "Chemin non trouvé"
Case SE_ERR_ACCESSDENIED
stErreur = "Accès refusé"
Case SE_ERR_OOM
stErreur = "Pas assez de mémoire"
Case SE_ERR_DLLNOTFOUND
stErreur = "DLL non trouvée"
Case SE_ERR_SHARE
stErreur = "Une violation de partage est apparue"
Case SE_ERR_ASSOCINCOMPLETE
stErreur = "Association incomplète ou invalide"
Case SE_ERR_DDETIMEOUT
stErreur = "DDE Délai dépassé"
Case SE_ERR_DDEFAIL
stErreur = "DDE transaction abortée"
Case SE_ERR_DDEBUSY
stErreur = "DDE occupé"
Case SE_ERR_NOASSOC
stErreur = "Pas d'association enregistrée pour ce type de
fichier"
Case ERROR_BAD_FORMAT
stErreur = "Fichier EXE invalide"
Case Else
stErreur = "Erreur inconnue"
End Select
MsgBox stErreur, vbExclamation, NomEtVersion
End If
End Sub
Bonjour à tous,
j'utilise depuis longtemps une procédure qui me permet
d'ouvrir un fichier avec le logiciel qui lui est associé sous
Windows. Cela marche aussi pour les lien Internet.
Exemple :
NomFichier = DossierTemporaire & "Le_Rush_.txt"
LanceExeAssocie (NomFichier)
Mais aujurd'hui je viens de me rendre compte que cela marche
en IDE mais plus en EXE pour les liens Internet
NomFichier = "www.google.fr"
LanceExeAssocie (NomFichier)
Cela me donne le messge "Fichier non trouvé"
A tout hasard je place le code en dessous .............
'Déclarations nécessaires pour LanceExeAssocie
Public Declare Function ShellExecute Lib "shell32.dll" Alias
"ShellExecuteA" (ByVal hWnd As Long, ByVal lpszOp As String, ByVal
lpszFile As String, ByVal lpszParams As String, ByVal lpszDir As String,
ByVal FsShowCmd As Long) As Long
Public Declare Function GetDesktopWindow Lib "user32" () As Long
Const SW_SHOWNORMAL = 1
Const SE_ERR_FNF = 2&
Const SE_ERR_PNF = 3&
Const SE_ERR_ACCESSDENIED = 5&
Const SE_ERR_OOM = 8&
Const SE_ERR_DLLNOTFOUND = 32&
Const SE_ERR_SHARE = 26&
Const SE_ERR_ASSOCINCOMPLETE = 27&
Const SE_ERR_DDETIMEOUT = 28&
Const SE_ERR_DDEFAIL = 29&
Const SE_ERR_DDEBUSY = 30&
Const SE_ERR_NOASSOC = 31&
Const ERROR_BAD_FORMAT = 11&
Public Sub LanceExeAssocie(NomFichier As String)
Dim lghDC As Long, lgRep As Long
Dim stErreur As String
If NomFichier = "" Then
Exit Sub
End If
lghDC = GetDesktopWindow()
lgRep = ShellExecute(lghDC, "Open", NomFichier, "", "C:", SW_SHOWNORMAL)
If lgRep <= 32 Then
'Erreur à afficher en cas d'échec de l'appel
Select Case lgRep
Case SE_ERR_FNF
stErreur = "Fichier non trouvé"
Case SE_ERR_PNF
stErreur = "Chemin non trouvé"
Case SE_ERR_ACCESSDENIED
stErreur = "Accès refusé"
Case SE_ERR_OOM
stErreur = "Pas assez de mémoire"
Case SE_ERR_DLLNOTFOUND
stErreur = "DLL non trouvée"
Case SE_ERR_SHARE
stErreur = "Une violation de partage est apparue"
Case SE_ERR_ASSOCINCOMPLETE
stErreur = "Association incomplète ou invalide"
Case SE_ERR_DDETIMEOUT
stErreur = "DDE Délai dépassé"
Case SE_ERR_DDEFAIL
stErreur = "DDE transaction abortée"
Case SE_ERR_DDEBUSY
stErreur = "DDE occupé"
Case SE_ERR_NOASSOC
stErreur = "Pas d'association enregistrée pour ce type de
fichier"
Case ERROR_BAD_FORMAT
stErreur = "Fichier EXE invalide"
Case Else
stErreur = "Erreur inconnue"
End Select
MsgBox stErreur, vbExclamation, NomEtVersion
End If
End Sub
Bonjour à tous,
j'utilise depuis longtemps une procédure qui me permet
d'ouvrir un fichier avec le logiciel qui lui est associé sous
Windows. Cela marche aussi pour les lien Internet.
Exemple :
NomFichier = DossierTemporaire & "Le_Rush_.txt"
LanceExeAssocie (NomFichier)
Mais aujurd'hui je viens de me rendre compte que cela marche
en IDE mais plus en EXE pour les liens Internet
NomFichier = "www.google.fr"
LanceExeAssocie (NomFichier)
Cela me donne le messge "Fichier non trouvé"
A tout hasard je place le code en dessous .............
'Déclarations nécessaires pour LanceExeAssocie
Public Declare Function ShellExecute Lib "shell32.dll" Alias
"ShellExecuteA" (ByVal hWnd As Long, ByVal lpszOp As String, ByVal
lpszFile As String, ByVal lpszParams As String, ByVal lpszDir As String,
ByVal FsShowCmd As Long) As Long
Public Declare Function GetDesktopWindow Lib "user32" () As Long
Const SW_SHOWNORMAL = 1
Const SE_ERR_FNF = 2&
Const SE_ERR_PNF = 3&
Const SE_ERR_ACCESSDENIED = 5&
Const SE_ERR_OOM = 8&
Const SE_ERR_DLLNOTFOUND = 32&
Const SE_ERR_SHARE = 26&
Const SE_ERR_ASSOCINCOMPLETE = 27&
Const SE_ERR_DDETIMEOUT = 28&
Const SE_ERR_DDEFAIL = 29&
Const SE_ERR_DDEBUSY = 30&
Const SE_ERR_NOASSOC = 31&
Const ERROR_BAD_FORMAT = 11&
Public Sub LanceExeAssocie(NomFichier As String)
Dim lghDC As Long, lgRep As Long
Dim stErreur As String
If NomFichier = "" Then
Exit Sub
End If
lghDC = GetDesktopWindow()
lgRep = ShellExecute(lghDC, "Open", NomFichier, "", "C:", SW_SHOWNORMAL)
If lgRep <= 32 Then
'Erreur à afficher en cas d'échec de l'appel
Select Case lgRep
Case SE_ERR_FNF
stErreur = "Fichier non trouvé"
Case SE_ERR_PNF
stErreur = "Chemin non trouvé"
Case SE_ERR_ACCESSDENIED
stErreur = "Accès refusé"
Case SE_ERR_OOM
stErreur = "Pas assez de mémoire"
Case SE_ERR_DLLNOTFOUND
stErreur = "DLL non trouvée"
Case SE_ERR_SHARE
stErreur = "Une violation de partage est apparue"
Case SE_ERR_ASSOCINCOMPLETE
stErreur = "Association incomplète ou invalide"
Case SE_ERR_DDETIMEOUT
stErreur = "DDE Délai dépassé"
Case SE_ERR_DDEFAIL
stErreur = "DDE transaction abortée"
Case SE_ERR_DDEBUSY
stErreur = "DDE occupé"
Case SE_ERR_NOASSOC
stErreur = "Pas d'association enregistrée pour ce type de
fichier"
Case ERROR_BAD_FORMAT
stErreur = "Fichier EXE invalide"
Case Else
stErreur = "Erreur inconnue"
End Select
MsgBox stErreur, vbExclamation, NomEtVersion
End If
End Sub
Suite à la consultation de la FAQ VB j'ai testé ceci :
ShellExecute Me.hwnd, "open", "www.google.fr", vbNullString, vbNullString,
SW_SHOWNORMAL
Cela fonction en IDE pas en EXE !!!!!!!!!!!!!
Pas comprendre.
"Daniel AUBRY" a écrit dans le message de news:
42c6bdd4$0$31224$
> Bonjour à tous,
>
> j'utilise depuis longtemps une procédure qui me permet
> d'ouvrir un fichier avec le logiciel qui lui est associé sous
> Windows. Cela marche aussi pour les lien Internet.
>
> Exemple :
>
> NomFichier = DossierTemporaire & "Le_Rush_.txt"
> LanceExeAssocie (NomFichier)
>
> Mais aujurd'hui je viens de me rendre compte que cela marche
> en IDE mais plus en EXE pour les liens Internet
>
> NomFichier = "www.google.fr"
> LanceExeAssocie (NomFichier)
>
> Cela me donne le messge "Fichier non trouvé"
>
> A tout hasard je place le code en dessous .............
>
> 'Déclarations nécessaires pour LanceExeAssocie
> Public Declare Function ShellExecute Lib "shell32.dll" Alias
> "ShellExecuteA" (ByVal hWnd As Long, ByVal lpszOp As String, ByVal
> lpszFile As String, ByVal lpszParams As String, ByVal lpszDir As String,
> ByVal FsShowCmd As Long) As Long
> Public Declare Function GetDesktopWindow Lib "user32" () As Long
>
> Const SW_SHOWNORMAL = 1
> Const SE_ERR_FNF = 2&
> Const SE_ERR_PNF = 3&
> Const SE_ERR_ACCESSDENIED = 5&
> Const SE_ERR_OOM = 8&
> Const SE_ERR_DLLNOTFOUND = 32&
> Const SE_ERR_SHARE = 26&
> Const SE_ERR_ASSOCINCOMPLETE = 27&
> Const SE_ERR_DDETIMEOUT = 28&
> Const SE_ERR_DDEFAIL = 29&
> Const SE_ERR_DDEBUSY = 30&
> Const SE_ERR_NOASSOC = 31&
> Const ERROR_BAD_FORMAT = 11&
>
>
> Public Sub LanceExeAssocie(NomFichier As String)
>
> Dim lghDC As Long, lgRep As Long
> Dim stErreur As String
>
> If NomFichier = "" Then
> Exit Sub
> End If
>
> lghDC = GetDesktopWindow()
> lgRep = ShellExecute(lghDC, "Open", NomFichier, "", "C:",
>
> If lgRep <= 32 Then
> 'Erreur à afficher en cas d'échec de l'appel
> Select Case lgRep
> Case SE_ERR_FNF
> stErreur = "Fichier non trouvé"
> Case SE_ERR_PNF
> stErreur = "Chemin non trouvé"
> Case SE_ERR_ACCESSDENIED
> stErreur = "Accès refusé"
> Case SE_ERR_OOM
> stErreur = "Pas assez de mémoire"
> Case SE_ERR_DLLNOTFOUND
> stErreur = "DLL non trouvée"
> Case SE_ERR_SHARE
> stErreur = "Une violation de partage est apparue"
> Case SE_ERR_ASSOCINCOMPLETE
> stErreur = "Association incomplète ou invalide"
> Case SE_ERR_DDETIMEOUT
> stErreur = "DDE Délai dépassé"
> Case SE_ERR_DDEFAIL
> stErreur = "DDE transaction abortée"
> Case SE_ERR_DDEBUSY
> stErreur = "DDE occupé"
> Case SE_ERR_NOASSOC
> stErreur = "Pas d'association enregistrée pour ce type de
> fichier"
> Case ERROR_BAD_FORMAT
> stErreur = "Fichier EXE invalide"
> Case Else
> stErreur = "Erreur inconnue"
> End Select
> MsgBox stErreur, vbExclamation, NomEtVersion
> End If
>
> End Sub
>
>
Suite à la consultation de la FAQ VB j'ai testé ceci :
ShellExecute Me.hwnd, "open", "www.google.fr", vbNullString, vbNullString,
SW_SHOWNORMAL
Cela fonction en IDE pas en EXE !!!!!!!!!!!!!
Pas comprendre.
"Daniel AUBRY" <mail@daniel-aubry.com> a écrit dans le message de news:
42c6bdd4$0$31224$626a14ce@news.free.fr...
> Bonjour à tous,
>
> j'utilise depuis longtemps une procédure qui me permet
> d'ouvrir un fichier avec le logiciel qui lui est associé sous
> Windows. Cela marche aussi pour les lien Internet.
>
> Exemple :
>
> NomFichier = DossierTemporaire & "Le_Rush_.txt"
> LanceExeAssocie (NomFichier)
>
> Mais aujurd'hui je viens de me rendre compte que cela marche
> en IDE mais plus en EXE pour les liens Internet
>
> NomFichier = "www.google.fr"
> LanceExeAssocie (NomFichier)
>
> Cela me donne le messge "Fichier non trouvé"
>
> A tout hasard je place le code en dessous .............
>
> 'Déclarations nécessaires pour LanceExeAssocie
> Public Declare Function ShellExecute Lib "shell32.dll" Alias
> "ShellExecuteA" (ByVal hWnd As Long, ByVal lpszOp As String, ByVal
> lpszFile As String, ByVal lpszParams As String, ByVal lpszDir As String,
> ByVal FsShowCmd As Long) As Long
> Public Declare Function GetDesktopWindow Lib "user32" () As Long
>
> Const SW_SHOWNORMAL = 1
> Const SE_ERR_FNF = 2&
> Const SE_ERR_PNF = 3&
> Const SE_ERR_ACCESSDENIED = 5&
> Const SE_ERR_OOM = 8&
> Const SE_ERR_DLLNOTFOUND = 32&
> Const SE_ERR_SHARE = 26&
> Const SE_ERR_ASSOCINCOMPLETE = 27&
> Const SE_ERR_DDETIMEOUT = 28&
> Const SE_ERR_DDEFAIL = 29&
> Const SE_ERR_DDEBUSY = 30&
> Const SE_ERR_NOASSOC = 31&
> Const ERROR_BAD_FORMAT = 11&
>
>
> Public Sub LanceExeAssocie(NomFichier As String)
>
> Dim lghDC As Long, lgRep As Long
> Dim stErreur As String
>
> If NomFichier = "" Then
> Exit Sub
> End If
>
> lghDC = GetDesktopWindow()
> lgRep = ShellExecute(lghDC, "Open", NomFichier, "", "C:",
>
> If lgRep <= 32 Then
> 'Erreur à afficher en cas d'échec de l'appel
> Select Case lgRep
> Case SE_ERR_FNF
> stErreur = "Fichier non trouvé"
> Case SE_ERR_PNF
> stErreur = "Chemin non trouvé"
> Case SE_ERR_ACCESSDENIED
> stErreur = "Accès refusé"
> Case SE_ERR_OOM
> stErreur = "Pas assez de mémoire"
> Case SE_ERR_DLLNOTFOUND
> stErreur = "DLL non trouvée"
> Case SE_ERR_SHARE
> stErreur = "Une violation de partage est apparue"
> Case SE_ERR_ASSOCINCOMPLETE
> stErreur = "Association incomplète ou invalide"
> Case SE_ERR_DDETIMEOUT
> stErreur = "DDE Délai dépassé"
> Case SE_ERR_DDEFAIL
> stErreur = "DDE transaction abortée"
> Case SE_ERR_DDEBUSY
> stErreur = "DDE occupé"
> Case SE_ERR_NOASSOC
> stErreur = "Pas d'association enregistrée pour ce type de
> fichier"
> Case ERROR_BAD_FORMAT
> stErreur = "Fichier EXE invalide"
> Case Else
> stErreur = "Erreur inconnue"
> End Select
> MsgBox stErreur, vbExclamation, NomEtVersion
> End If
>
> End Sub
>
>
Suite à la consultation de la FAQ VB j'ai testé ceci :
ShellExecute Me.hwnd, "open", "www.google.fr", vbNullString, vbNullString,
SW_SHOWNORMAL
Cela fonction en IDE pas en EXE !!!!!!!!!!!!!
Pas comprendre.
"Daniel AUBRY" a écrit dans le message de news:
42c6bdd4$0$31224$
> Bonjour à tous,
>
> j'utilise depuis longtemps une procédure qui me permet
> d'ouvrir un fichier avec le logiciel qui lui est associé sous
> Windows. Cela marche aussi pour les lien Internet.
>
> Exemple :
>
> NomFichier = DossierTemporaire & "Le_Rush_.txt"
> LanceExeAssocie (NomFichier)
>
> Mais aujurd'hui je viens de me rendre compte que cela marche
> en IDE mais plus en EXE pour les liens Internet
>
> NomFichier = "www.google.fr"
> LanceExeAssocie (NomFichier)
>
> Cela me donne le messge "Fichier non trouvé"
>
> A tout hasard je place le code en dessous .............
>
> 'Déclarations nécessaires pour LanceExeAssocie
> Public Declare Function ShellExecute Lib "shell32.dll" Alias
> "ShellExecuteA" (ByVal hWnd As Long, ByVal lpszOp As String, ByVal
> lpszFile As String, ByVal lpszParams As String, ByVal lpszDir As String,
> ByVal FsShowCmd As Long) As Long
> Public Declare Function GetDesktopWindow Lib "user32" () As Long
>
> Const SW_SHOWNORMAL = 1
> Const SE_ERR_FNF = 2&
> Const SE_ERR_PNF = 3&
> Const SE_ERR_ACCESSDENIED = 5&
> Const SE_ERR_OOM = 8&
> Const SE_ERR_DLLNOTFOUND = 32&
> Const SE_ERR_SHARE = 26&
> Const SE_ERR_ASSOCINCOMPLETE = 27&
> Const SE_ERR_DDETIMEOUT = 28&
> Const SE_ERR_DDEFAIL = 29&
> Const SE_ERR_DDEBUSY = 30&
> Const SE_ERR_NOASSOC = 31&
> Const ERROR_BAD_FORMAT = 11&
>
>
> Public Sub LanceExeAssocie(NomFichier As String)
>
> Dim lghDC As Long, lgRep As Long
> Dim stErreur As String
>
> If NomFichier = "" Then
> Exit Sub
> End If
>
> lghDC = GetDesktopWindow()
> lgRep = ShellExecute(lghDC, "Open", NomFichier, "", "C:",
>
> If lgRep <= 32 Then
> 'Erreur à afficher en cas d'échec de l'appel
> Select Case lgRep
> Case SE_ERR_FNF
> stErreur = "Fichier non trouvé"
> Case SE_ERR_PNF
> stErreur = "Chemin non trouvé"
> Case SE_ERR_ACCESSDENIED
> stErreur = "Accès refusé"
> Case SE_ERR_OOM
> stErreur = "Pas assez de mémoire"
> Case SE_ERR_DLLNOTFOUND
> stErreur = "DLL non trouvée"
> Case SE_ERR_SHARE
> stErreur = "Une violation de partage est apparue"
> Case SE_ERR_ASSOCINCOMPLETE
> stErreur = "Association incomplète ou invalide"
> Case SE_ERR_DDETIMEOUT
> stErreur = "DDE Délai dépassé"
> Case SE_ERR_DDEFAIL
> stErreur = "DDE transaction abortée"
> Case SE_ERR_DDEBUSY
> stErreur = "DDE occupé"
> Case SE_ERR_NOASSOC
> stErreur = "Pas d'association enregistrée pour ce type de
> fichier"
> Case ERROR_BAD_FORMAT
> stErreur = "Fichier EXE invalide"
> Case Else
> stErreur = "Erreur inconnue"
> End Select
> MsgBox stErreur, vbExclamation, NomEtVersion
> End If
>
> End Sub
>
>
Hello,
je viens de tester ton code et chez moi cela fonctionne,
en IDE comme en EXE.
J'ai testé avec un fichier texte (c:truc.txt) et un lien (www.google.fr).
Pour ce denier, le résultat a bien été l'ouverture de mon browser par
défaut
(Internet Explorer) et l'affichage de la page corrspondant au lien.
As tu installé un nouveau navigateur ou qq chose du genre récemment ?
FYI, j'ai testé sous Windows XP Home/IE6
Peux tu tester ceci (si tu as Word):
créer un nouveau document.
Taper ceci:
Coucou www.google.fr hello
En amenant ta souris sur le lien (qui devrait avoir été
souligné en bleu), il doit afficher un tooltip text
(Ctrl-click to follow the link) et si tu control-clic,
il doit ouvrir ton navigateur.
Ceci marche t'il?
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;
"Daniel AUBRY" a écrit dans le message de
news:42c6c294$0$27605$Suite à la consultation de la FAQ VB j'ai testé ceci :
ShellExecute Me.hwnd, "open", "www.google.fr", vbNullString,
vbNullString,
SW_SHOWNORMAL
Cela fonction en IDE pas en EXE !!!!!!!!!!!!!
Pas comprendre.
"Daniel AUBRY" a écrit dans le message de news:
42c6bdd4$0$31224$
> Bonjour à tous,
>
> j'utilise depuis longtemps une procédure qui me permet
> d'ouvrir un fichier avec le logiciel qui lui est associé sous
> Windows. Cela marche aussi pour les lien Internet.
>
> Exemple :
>
> NomFichier = DossierTemporaire & "Le_Rush_.txt"
> LanceExeAssocie (NomFichier)
>
> Mais aujurd'hui je viens de me rendre compte que cela marche
> en IDE mais plus en EXE pour les liens Internet
>
> NomFichier = "www.google.fr"
> LanceExeAssocie (NomFichier)
>
> Cela me donne le messge "Fichier non trouvé"
>
> A tout hasard je place le code en dessous .............
>
> 'Déclarations nécessaires pour LanceExeAssocie
> Public Declare Function ShellExecute Lib "shell32.dll" Alias
> "ShellExecuteA" (ByVal hWnd As Long, ByVal lpszOp As String, ByVal
> lpszFile As String, ByVal lpszParams As String, ByVal lpszDir As
> String,
> ByVal FsShowCmd As Long) As Long
> Public Declare Function GetDesktopWindow Lib "user32" () As Long
>
> Const SW_SHOWNORMAL = 1
> Const SE_ERR_FNF = 2&
> Const SE_ERR_PNF = 3&
> Const SE_ERR_ACCESSDENIED = 5&
> Const SE_ERR_OOM = 8&
> Const SE_ERR_DLLNOTFOUND = 32&
> Const SE_ERR_SHARE = 26&
> Const SE_ERR_ASSOCINCOMPLETE = 27&
> Const SE_ERR_DDETIMEOUT = 28&
> Const SE_ERR_DDEFAIL = 29&
> Const SE_ERR_DDEBUSY = 30&
> Const SE_ERR_NOASSOC = 31&
> Const ERROR_BAD_FORMAT = 11&
>
>
> Public Sub LanceExeAssocie(NomFichier As String)
>
> Dim lghDC As Long, lgRep As Long
> Dim stErreur As String
>
> If NomFichier = "" Then
> Exit Sub
> End If
>
> lghDC = GetDesktopWindow()
> lgRep = ShellExecute(lghDC, "Open", NomFichier, "", "C:",
SW_SHOWNORMAL)>
> If lgRep <= 32 Then
> 'Erreur à afficher en cas d'échec de l'appel
> Select Case lgRep
> Case SE_ERR_FNF
> stErreur = "Fichier non trouvé"
> Case SE_ERR_PNF
> stErreur = "Chemin non trouvé"
> Case SE_ERR_ACCESSDENIED
> stErreur = "Accès refusé"
> Case SE_ERR_OOM
> stErreur = "Pas assez de mémoire"
> Case SE_ERR_DLLNOTFOUND
> stErreur = "DLL non trouvée"
> Case SE_ERR_SHARE
> stErreur = "Une violation de partage est apparue"
> Case SE_ERR_ASSOCINCOMPLETE
> stErreur = "Association incomplète ou invalide"
> Case SE_ERR_DDETIMEOUT
> stErreur = "DDE Délai dépassé"
> Case SE_ERR_DDEFAIL
> stErreur = "DDE transaction abortée"
> Case SE_ERR_DDEBUSY
> stErreur = "DDE occupé"
> Case SE_ERR_NOASSOC
> stErreur = "Pas d'association enregistrée pour ce type de
> fichier"
> Case ERROR_BAD_FORMAT
> stErreur = "Fichier EXE invalide"
> Case Else
> stErreur = "Erreur inconnue"
> End Select
> MsgBox stErreur, vbExclamation, NomEtVersion
> End If
>
> End Sub
>
>
Hello,
je viens de tester ton code et chez moi cela fonctionne,
en IDE comme en EXE.
J'ai testé avec un fichier texte (c:truc.txt) et un lien (www.google.fr).
Pour ce denier, le résultat a bien été l'ouverture de mon browser par
défaut
(Internet Explorer) et l'affichage de la page corrspondant au lien.
As tu installé un nouveau navigateur ou qq chose du genre récemment ?
FYI, j'ai testé sous Windows XP Home/IE6
Peux tu tester ceci (si tu as Word):
créer un nouveau document.
Taper ceci:
Coucou www.google.fr hello
En amenant ta souris sur le lien (qui devrait avoir été
souligné en bleu), il doit afficher un tooltip text
(Ctrl-click to follow the link) et si tu control-clic,
il doit ouvrir ton navigateur.
Ceci marche t'il?
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ; _no_spam_jean_marc_n2@yahoo.fr
"Daniel AUBRY" <mail@daniel-aubry.com> a écrit dans le message de
news:42c6c294$0$27605$636a15ce@news.free.fr...
Suite à la consultation de la FAQ VB j'ai testé ceci :
ShellExecute Me.hwnd, "open", "www.google.fr", vbNullString,
vbNullString,
SW_SHOWNORMAL
Cela fonction en IDE pas en EXE !!!!!!!!!!!!!
Pas comprendre.
"Daniel AUBRY" <mail@daniel-aubry.com> a écrit dans le message de news:
42c6bdd4$0$31224$626a14ce@news.free.fr...
> Bonjour à tous,
>
> j'utilise depuis longtemps une procédure qui me permet
> d'ouvrir un fichier avec le logiciel qui lui est associé sous
> Windows. Cela marche aussi pour les lien Internet.
>
> Exemple :
>
> NomFichier = DossierTemporaire & "Le_Rush_.txt"
> LanceExeAssocie (NomFichier)
>
> Mais aujurd'hui je viens de me rendre compte que cela marche
> en IDE mais plus en EXE pour les liens Internet
>
> NomFichier = "www.google.fr"
> LanceExeAssocie (NomFichier)
>
> Cela me donne le messge "Fichier non trouvé"
>
> A tout hasard je place le code en dessous .............
>
> 'Déclarations nécessaires pour LanceExeAssocie
> Public Declare Function ShellExecute Lib "shell32.dll" Alias
> "ShellExecuteA" (ByVal hWnd As Long, ByVal lpszOp As String, ByVal
> lpszFile As String, ByVal lpszParams As String, ByVal lpszDir As
> String,
> ByVal FsShowCmd As Long) As Long
> Public Declare Function GetDesktopWindow Lib "user32" () As Long
>
> Const SW_SHOWNORMAL = 1
> Const SE_ERR_FNF = 2&
> Const SE_ERR_PNF = 3&
> Const SE_ERR_ACCESSDENIED = 5&
> Const SE_ERR_OOM = 8&
> Const SE_ERR_DLLNOTFOUND = 32&
> Const SE_ERR_SHARE = 26&
> Const SE_ERR_ASSOCINCOMPLETE = 27&
> Const SE_ERR_DDETIMEOUT = 28&
> Const SE_ERR_DDEFAIL = 29&
> Const SE_ERR_DDEBUSY = 30&
> Const SE_ERR_NOASSOC = 31&
> Const ERROR_BAD_FORMAT = 11&
>
>
> Public Sub LanceExeAssocie(NomFichier As String)
>
> Dim lghDC As Long, lgRep As Long
> Dim stErreur As String
>
> If NomFichier = "" Then
> Exit Sub
> End If
>
> lghDC = GetDesktopWindow()
> lgRep = ShellExecute(lghDC, "Open", NomFichier, "", "C:",
SW_SHOWNORMAL)
>
> If lgRep <= 32 Then
> 'Erreur à afficher en cas d'échec de l'appel
> Select Case lgRep
> Case SE_ERR_FNF
> stErreur = "Fichier non trouvé"
> Case SE_ERR_PNF
> stErreur = "Chemin non trouvé"
> Case SE_ERR_ACCESSDENIED
> stErreur = "Accès refusé"
> Case SE_ERR_OOM
> stErreur = "Pas assez de mémoire"
> Case SE_ERR_DLLNOTFOUND
> stErreur = "DLL non trouvée"
> Case SE_ERR_SHARE
> stErreur = "Une violation de partage est apparue"
> Case SE_ERR_ASSOCINCOMPLETE
> stErreur = "Association incomplète ou invalide"
> Case SE_ERR_DDETIMEOUT
> stErreur = "DDE Délai dépassé"
> Case SE_ERR_DDEFAIL
> stErreur = "DDE transaction abortée"
> Case SE_ERR_DDEBUSY
> stErreur = "DDE occupé"
> Case SE_ERR_NOASSOC
> stErreur = "Pas d'association enregistrée pour ce type de
> fichier"
> Case ERROR_BAD_FORMAT
> stErreur = "Fichier EXE invalide"
> Case Else
> stErreur = "Erreur inconnue"
> End Select
> MsgBox stErreur, vbExclamation, NomEtVersion
> End If
>
> End Sub
>
>
Hello,
je viens de tester ton code et chez moi cela fonctionne,
en IDE comme en EXE.
J'ai testé avec un fichier texte (c:truc.txt) et un lien (www.google.fr).
Pour ce denier, le résultat a bien été l'ouverture de mon browser par
défaut
(Internet Explorer) et l'affichage de la page corrspondant au lien.
As tu installé un nouveau navigateur ou qq chose du genre récemment ?
FYI, j'ai testé sous Windows XP Home/IE6
Peux tu tester ceci (si tu as Word):
créer un nouveau document.
Taper ceci:
Coucou www.google.fr hello
En amenant ta souris sur le lien (qui devrait avoir été
souligné en bleu), il doit afficher un tooltip text
(Ctrl-click to follow the link) et si tu control-clic,
il doit ouvrir ton navigateur.
Ceci marche t'il?
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;
"Daniel AUBRY" a écrit dans le message de
news:42c6c294$0$27605$Suite à la consultation de la FAQ VB j'ai testé ceci :
ShellExecute Me.hwnd, "open", "www.google.fr", vbNullString,
vbNullString,
SW_SHOWNORMAL
Cela fonction en IDE pas en EXE !!!!!!!!!!!!!
Pas comprendre.
"Daniel AUBRY" a écrit dans le message de news:
42c6bdd4$0$31224$
> Bonjour à tous,
>
> j'utilise depuis longtemps une procédure qui me permet
> d'ouvrir un fichier avec le logiciel qui lui est associé sous
> Windows. Cela marche aussi pour les lien Internet.
>
> Exemple :
>
> NomFichier = DossierTemporaire & "Le_Rush_.txt"
> LanceExeAssocie (NomFichier)
>
> Mais aujurd'hui je viens de me rendre compte que cela marche
> en IDE mais plus en EXE pour les liens Internet
>
> NomFichier = "www.google.fr"
> LanceExeAssocie (NomFichier)
>
> Cela me donne le messge "Fichier non trouvé"
>
> A tout hasard je place le code en dessous .............
>
> 'Déclarations nécessaires pour LanceExeAssocie
> Public Declare Function ShellExecute Lib "shell32.dll" Alias
> "ShellExecuteA" (ByVal hWnd As Long, ByVal lpszOp As String, ByVal
> lpszFile As String, ByVal lpszParams As String, ByVal lpszDir As
> String,
> ByVal FsShowCmd As Long) As Long
> Public Declare Function GetDesktopWindow Lib "user32" () As Long
>
> Const SW_SHOWNORMAL = 1
> Const SE_ERR_FNF = 2&
> Const SE_ERR_PNF = 3&
> Const SE_ERR_ACCESSDENIED = 5&
> Const SE_ERR_OOM = 8&
> Const SE_ERR_DLLNOTFOUND = 32&
> Const SE_ERR_SHARE = 26&
> Const SE_ERR_ASSOCINCOMPLETE = 27&
> Const SE_ERR_DDETIMEOUT = 28&
> Const SE_ERR_DDEFAIL = 29&
> Const SE_ERR_DDEBUSY = 30&
> Const SE_ERR_NOASSOC = 31&
> Const ERROR_BAD_FORMAT = 11&
>
>
> Public Sub LanceExeAssocie(NomFichier As String)
>
> Dim lghDC As Long, lgRep As Long
> Dim stErreur As String
>
> If NomFichier = "" Then
> Exit Sub
> End If
>
> lghDC = GetDesktopWindow()
> lgRep = ShellExecute(lghDC, "Open", NomFichier, "", "C:",
SW_SHOWNORMAL)>
> If lgRep <= 32 Then
> 'Erreur à afficher en cas d'échec de l'appel
> Select Case lgRep
> Case SE_ERR_FNF
> stErreur = "Fichier non trouvé"
> Case SE_ERR_PNF
> stErreur = "Chemin non trouvé"
> Case SE_ERR_ACCESSDENIED
> stErreur = "Accès refusé"
> Case SE_ERR_OOM
> stErreur = "Pas assez de mémoire"
> Case SE_ERR_DLLNOTFOUND
> stErreur = "DLL non trouvée"
> Case SE_ERR_SHARE
> stErreur = "Une violation de partage est apparue"
> Case SE_ERR_ASSOCINCOMPLETE
> stErreur = "Association incomplète ou invalide"
> Case SE_ERR_DDETIMEOUT
> stErreur = "DDE Délai dépassé"
> Case SE_ERR_DDEFAIL
> stErreur = "DDE transaction abortée"
> Case SE_ERR_DDEBUSY
> stErreur = "DDE occupé"
> Case SE_ERR_NOASSOC
> stErreur = "Pas d'association enregistrée pour ce type de
> fichier"
> Case ERROR_BAD_FORMAT
> stErreur = "Fichier EXE invalide"
> Case Else
> stErreur = "Erreur inconnue"
> End Select
> MsgBox stErreur, vbExclamation, NomEtVersion
> End If
>
> End Sub
>
>
Bonjour à tous,
j'utilise depuis longtemps une procédure qui me permet
d'ouvrir un fichier avec le logiciel qui lui est associé sous
Windows. Cela marche aussi pour les lien Internet.
Exemple :
NomFichier = DossierTemporaire & "Le_Rush_.txt"
LanceExeAssocie (NomFichier)
Mais aujurd'hui je viens de me rendre compte que cela marche
en IDE mais plus en EXE pour les liens Internet
NomFichier = "www.google.fr"
LanceExeAssocie (NomFichier)
Cela me donne le messge "Fichier non trouvé"
A tout hasard je place le code en dessous .............
'Déclarations nécessaires pour LanceExeAssocie
Public Declare Function ShellExecute Lib "shell32.dll" Alias
"ShellExecuteA" (ByVal hWnd As Long, ByVal lpszOp As String, ByVal
lpszFile As String, ByVal lpszParams As String, ByVal lpszDir As String,
ByVal FsShowCmd As Long) As Long
Public Declare Function GetDesktopWindow Lib "user32" () As Long
Const SW_SHOWNORMAL = 1
Const SE_ERR_FNF = 2&
Const SE_ERR_PNF = 3&
Const SE_ERR_ACCESSDENIED = 5&
Const SE_ERR_OOM = 8&
Const SE_ERR_DLLNOTFOUND = 32&
Const SE_ERR_SHARE = 26&
Const SE_ERR_ASSOCINCOMPLETE = 27&
Const SE_ERR_DDETIMEOUT = 28&
Const SE_ERR_DDEFAIL = 29&
Const SE_ERR_DDEBUSY = 30&
Const SE_ERR_NOASSOC = 31&
Const ERROR_BAD_FORMAT = 11&
Public Sub LanceExeAssocie(NomFichier As String)
Dim lghDC As Long, lgRep As Long
Dim stErreur As String
If NomFichier = "" Then
Exit Sub
End If
lghDC = GetDesktopWindow()
lgRep = ShellExecute(lghDC, "Open", NomFichier, "", "C:", SW_SHOWNORMAL)
If lgRep <= 32 Then
'Erreur à afficher en cas d'échec de l'appel
Select Case lgRep
Case SE_ERR_FNF
stErreur = "Fichier non trouvé"
Case SE_ERR_PNF
stErreur = "Chemin non trouvé"
Case SE_ERR_ACCESSDENIED
stErreur = "Accès refusé"
Case SE_ERR_OOM
stErreur = "Pas assez de mémoire"
Case SE_ERR_DLLNOTFOUND
stErreur = "DLL non trouvée"
Case SE_ERR_SHARE
stErreur = "Une violation de partage est apparue"
Case SE_ERR_ASSOCINCOMPLETE
stErreur = "Association incomplète ou invalide"
Case SE_ERR_DDETIMEOUT
stErreur = "DDE Délai dépassé"
Case SE_ERR_DDEFAIL
stErreur = "DDE transaction abortée"
Case SE_ERR_DDEBUSY
stErreur = "DDE occupé"
Case SE_ERR_NOASSOC
stErreur = "Pas d'association enregistrée pour ce type de
fichier"
Case ERROR_BAD_FORMAT
stErreur = "Fichier EXE invalide"
Case Else
stErreur = "Erreur inconnue"
End Select
MsgBox stErreur, vbExclamation, NomEtVersion
End If
End Sub
Bonjour à tous,
j'utilise depuis longtemps une procédure qui me permet
d'ouvrir un fichier avec le logiciel qui lui est associé sous
Windows. Cela marche aussi pour les lien Internet.
Exemple :
NomFichier = DossierTemporaire & "Le_Rush_.txt"
LanceExeAssocie (NomFichier)
Mais aujurd'hui je viens de me rendre compte que cela marche
en IDE mais plus en EXE pour les liens Internet
NomFichier = "www.google.fr"
LanceExeAssocie (NomFichier)
Cela me donne le messge "Fichier non trouvé"
A tout hasard je place le code en dessous .............
'Déclarations nécessaires pour LanceExeAssocie
Public Declare Function ShellExecute Lib "shell32.dll" Alias
"ShellExecuteA" (ByVal hWnd As Long, ByVal lpszOp As String, ByVal
lpszFile As String, ByVal lpszParams As String, ByVal lpszDir As String,
ByVal FsShowCmd As Long) As Long
Public Declare Function GetDesktopWindow Lib "user32" () As Long
Const SW_SHOWNORMAL = 1
Const SE_ERR_FNF = 2&
Const SE_ERR_PNF = 3&
Const SE_ERR_ACCESSDENIED = 5&
Const SE_ERR_OOM = 8&
Const SE_ERR_DLLNOTFOUND = 32&
Const SE_ERR_SHARE = 26&
Const SE_ERR_ASSOCINCOMPLETE = 27&
Const SE_ERR_DDETIMEOUT = 28&
Const SE_ERR_DDEFAIL = 29&
Const SE_ERR_DDEBUSY = 30&
Const SE_ERR_NOASSOC = 31&
Const ERROR_BAD_FORMAT = 11&
Public Sub LanceExeAssocie(NomFichier As String)
Dim lghDC As Long, lgRep As Long
Dim stErreur As String
If NomFichier = "" Then
Exit Sub
End If
lghDC = GetDesktopWindow()
lgRep = ShellExecute(lghDC, "Open", NomFichier, "", "C:", SW_SHOWNORMAL)
If lgRep <= 32 Then
'Erreur à afficher en cas d'échec de l'appel
Select Case lgRep
Case SE_ERR_FNF
stErreur = "Fichier non trouvé"
Case SE_ERR_PNF
stErreur = "Chemin non trouvé"
Case SE_ERR_ACCESSDENIED
stErreur = "Accès refusé"
Case SE_ERR_OOM
stErreur = "Pas assez de mémoire"
Case SE_ERR_DLLNOTFOUND
stErreur = "DLL non trouvée"
Case SE_ERR_SHARE
stErreur = "Une violation de partage est apparue"
Case SE_ERR_ASSOCINCOMPLETE
stErreur = "Association incomplète ou invalide"
Case SE_ERR_DDETIMEOUT
stErreur = "DDE Délai dépassé"
Case SE_ERR_DDEFAIL
stErreur = "DDE transaction abortée"
Case SE_ERR_DDEBUSY
stErreur = "DDE occupé"
Case SE_ERR_NOASSOC
stErreur = "Pas d'association enregistrée pour ce type de
fichier"
Case ERROR_BAD_FORMAT
stErreur = "Fichier EXE invalide"
Case Else
stErreur = "Erreur inconnue"
End Select
MsgBox stErreur, vbExclamation, NomEtVersion
End If
End Sub
Bonjour à tous,
j'utilise depuis longtemps une procédure qui me permet
d'ouvrir un fichier avec le logiciel qui lui est associé sous
Windows. Cela marche aussi pour les lien Internet.
Exemple :
NomFichier = DossierTemporaire & "Le_Rush_.txt"
LanceExeAssocie (NomFichier)
Mais aujurd'hui je viens de me rendre compte que cela marche
en IDE mais plus en EXE pour les liens Internet
NomFichier = "www.google.fr"
LanceExeAssocie (NomFichier)
Cela me donne le messge "Fichier non trouvé"
A tout hasard je place le code en dessous .............
'Déclarations nécessaires pour LanceExeAssocie
Public Declare Function ShellExecute Lib "shell32.dll" Alias
"ShellExecuteA" (ByVal hWnd As Long, ByVal lpszOp As String, ByVal
lpszFile As String, ByVal lpszParams As String, ByVal lpszDir As String,
ByVal FsShowCmd As Long) As Long
Public Declare Function GetDesktopWindow Lib "user32" () As Long
Const SW_SHOWNORMAL = 1
Const SE_ERR_FNF = 2&
Const SE_ERR_PNF = 3&
Const SE_ERR_ACCESSDENIED = 5&
Const SE_ERR_OOM = 8&
Const SE_ERR_DLLNOTFOUND = 32&
Const SE_ERR_SHARE = 26&
Const SE_ERR_ASSOCINCOMPLETE = 27&
Const SE_ERR_DDETIMEOUT = 28&
Const SE_ERR_DDEFAIL = 29&
Const SE_ERR_DDEBUSY = 30&
Const SE_ERR_NOASSOC = 31&
Const ERROR_BAD_FORMAT = 11&
Public Sub LanceExeAssocie(NomFichier As String)
Dim lghDC As Long, lgRep As Long
Dim stErreur As String
If NomFichier = "" Then
Exit Sub
End If
lghDC = GetDesktopWindow()
lgRep = ShellExecute(lghDC, "Open", NomFichier, "", "C:", SW_SHOWNORMAL)
If lgRep <= 32 Then
'Erreur à afficher en cas d'échec de l'appel
Select Case lgRep
Case SE_ERR_FNF
stErreur = "Fichier non trouvé"
Case SE_ERR_PNF
stErreur = "Chemin non trouvé"
Case SE_ERR_ACCESSDENIED
stErreur = "Accès refusé"
Case SE_ERR_OOM
stErreur = "Pas assez de mémoire"
Case SE_ERR_DLLNOTFOUND
stErreur = "DLL non trouvée"
Case SE_ERR_SHARE
stErreur = "Une violation de partage est apparue"
Case SE_ERR_ASSOCINCOMPLETE
stErreur = "Association incomplète ou invalide"
Case SE_ERR_DDETIMEOUT
stErreur = "DDE Délai dépassé"
Case SE_ERR_DDEFAIL
stErreur = "DDE transaction abortée"
Case SE_ERR_DDEBUSY
stErreur = "DDE occupé"
Case SE_ERR_NOASSOC
stErreur = "Pas d'association enregistrée pour ce type de
fichier"
Case ERROR_BAD_FORMAT
stErreur = "Fichier EXE invalide"
Case Else
stErreur = "Erreur inconnue"
End Select
MsgBox stErreur, vbExclamation, NomEtVersion
End If
End Sub
Bonjour à tous,
j'utilise depuis longtemps une procédure qui me permet
d'ouvrir un fichier avec le logiciel qui lui est associé sous
Windows. Cela marche aussi pour les lien Internet.
Exemple :
NomFichier = DossierTemporaire & "Le_Rush_.txt"
LanceExeAssocie (NomFichier)
Mais aujurd'hui je viens de me rendre compte que cela marche
en IDE mais plus en EXE pour les liens Internet
NomFichier = "www.google.fr"
LanceExeAssocie (NomFichier)
Cela me donne le messge "Fichier non trouvé"
A tout hasard je place le code en dessous .............
'Déclarations nécessaires pour LanceExeAssocie
Public Declare Function ShellExecute Lib "shell32.dll" Alias
"ShellExecuteA" (ByVal hWnd As Long, ByVal lpszOp As String, ByVal
lpszFile As String, ByVal lpszParams As String, ByVal lpszDir As String,
ByVal FsShowCmd As Long) As Long
Public Declare Function GetDesktopWindow Lib "user32" () As Long
Const SW_SHOWNORMAL = 1
Const SE_ERR_FNF = 2&
Const SE_ERR_PNF = 3&
Const SE_ERR_ACCESSDENIED = 5&
Const SE_ERR_OOM = 8&
Const SE_ERR_DLLNOTFOUND = 32&
Const SE_ERR_SHARE = 26&
Const SE_ERR_ASSOCINCOMPLETE = 27&
Const SE_ERR_DDETIMEOUT = 28&
Const SE_ERR_DDEFAIL = 29&
Const SE_ERR_DDEBUSY = 30&
Const SE_ERR_NOASSOC = 31&
Const ERROR_BAD_FORMAT = 11&
Public Sub LanceExeAssocie(NomFichier As String)
Dim lghDC As Long, lgRep As Long
Dim stErreur As String
If NomFichier = "" Then
Exit Sub
End If
lghDC = GetDesktopWindow()
lgRep = ShellExecute(lghDC, "Open", NomFichier, "", "C:", SW_SHOWNORMAL)
If lgRep <= 32 Then
'Erreur à afficher en cas d'échec de l'appel
Select Case lgRep
Case SE_ERR_FNF
stErreur = "Fichier non trouvé"
Case SE_ERR_PNF
stErreur = "Chemin non trouvé"
Case SE_ERR_ACCESSDENIED
stErreur = "Accès refusé"
Case SE_ERR_OOM
stErreur = "Pas assez de mémoire"
Case SE_ERR_DLLNOTFOUND
stErreur = "DLL non trouvée"
Case SE_ERR_SHARE
stErreur = "Une violation de partage est apparue"
Case SE_ERR_ASSOCINCOMPLETE
stErreur = "Association incomplète ou invalide"
Case SE_ERR_DDETIMEOUT
stErreur = "DDE Délai dépassé"
Case SE_ERR_DDEFAIL
stErreur = "DDE transaction abortée"
Case SE_ERR_DDEBUSY
stErreur = "DDE occupé"
Case SE_ERR_NOASSOC
stErreur = "Pas d'association enregistrée pour ce type de
fichier"
Case ERROR_BAD_FORMAT
stErreur = "Fichier EXE invalide"
Case Else
stErreur = "Erreur inconnue"
End Select
MsgBox stErreur, vbExclamation, NomEtVersion
End If
End Sub
Bonjour à tous,
j'utilise depuis longtemps une procédure qui me permet
d'ouvrir un fichier avec le logiciel qui lui est associé sous
Windows. Cela marche aussi pour les lien Internet.
Exemple :
NomFichier = DossierTemporaire & "Le_Rush_.txt"
LanceExeAssocie (NomFichier)
Mais aujurd'hui je viens de me rendre compte que cela marche
en IDE mais plus en EXE pour les liens Internet
NomFichier = "www.google.fr"
LanceExeAssocie (NomFichier)
Cela me donne le messge "Fichier non trouvé"
A tout hasard je place le code en dessous .............
'Déclarations nécessaires pour LanceExeAssocie
Public Declare Function ShellExecute Lib "shell32.dll" Alias
"ShellExecuteA" (ByVal hWnd As Long, ByVal lpszOp As String, ByVal
lpszFile As String, ByVal lpszParams As String, ByVal lpszDir As String,
ByVal FsShowCmd As Long) As Long
Public Declare Function GetDesktopWindow Lib "user32" () As Long
Const SW_SHOWNORMAL = 1
Const SE_ERR_FNF = 2&
Const SE_ERR_PNF = 3&
Const SE_ERR_ACCESSDENIED = 5&
Const SE_ERR_OOM = 8&
Const SE_ERR_DLLNOTFOUND = 32&
Const SE_ERR_SHARE = 26&
Const SE_ERR_ASSOCINCOMPLETE = 27&
Const SE_ERR_DDETIMEOUT = 28&
Const SE_ERR_DDEFAIL = 29&
Const SE_ERR_DDEBUSY = 30&
Const SE_ERR_NOASSOC = 31&
Const ERROR_BAD_FORMAT = 11&
Public Sub LanceExeAssocie(NomFichier As String)
Dim lghDC As Long, lgRep As Long
Dim stErreur As String
If NomFichier = "" Then
Exit Sub
End If
lghDC = GetDesktopWindow()
lgRep = ShellExecute(lghDC, "Open", NomFichier, "", "C:", SW_SHOWNORMAL)
If lgRep <= 32 Then
'Erreur à afficher en cas d'échec de l'appel
Select Case lgRep
Case SE_ERR_FNF
stErreur = "Fichier non trouvé"
Case SE_ERR_PNF
stErreur = "Chemin non trouvé"
Case SE_ERR_ACCESSDENIED
stErreur = "Accès refusé"
Case SE_ERR_OOM
stErreur = "Pas assez de mémoire"
Case SE_ERR_DLLNOTFOUND
stErreur = "DLL non trouvée"
Case SE_ERR_SHARE
stErreur = "Une violation de partage est apparue"
Case SE_ERR_ASSOCINCOMPLETE
stErreur = "Association incomplète ou invalide"
Case SE_ERR_DDETIMEOUT
stErreur = "DDE Délai dépassé"
Case SE_ERR_DDEFAIL
stErreur = "DDE transaction abortée"
Case SE_ERR_DDEBUSY
stErreur = "DDE occupé"
Case SE_ERR_NOASSOC
stErreur = "Pas d'association enregistrée pour ce type de
fichier"
Case ERROR_BAD_FORMAT
stErreur = "Fichier EXE invalide"
Case Else
stErreur = "Erreur inconnue"
End Select
MsgBox stErreur, vbExclamation, NomEtVersion
End If
End Sub
Bonjour à tous,
j'utilise depuis longtemps une procédure qui me permet
d'ouvrir un fichier avec le logiciel qui lui est associé sous
Windows. Cela marche aussi pour les lien Internet.
Exemple :
NomFichier = DossierTemporaire & "Le_Rush_.txt"
LanceExeAssocie (NomFichier)
Mais aujurd'hui je viens de me rendre compte que cela marche
en IDE mais plus en EXE pour les liens Internet
NomFichier = "www.google.fr"
LanceExeAssocie (NomFichier)
Cela me donne le messge "Fichier non trouvé"
A tout hasard je place le code en dessous .............
'Déclarations nécessaires pour LanceExeAssocie
Public Declare Function ShellExecute Lib "shell32.dll" Alias
"ShellExecuteA" (ByVal hWnd As Long, ByVal lpszOp As String, ByVal
lpszFile As String, ByVal lpszParams As String, ByVal lpszDir As String,
ByVal FsShowCmd As Long) As Long
Public Declare Function GetDesktopWindow Lib "user32" () As Long
Const SW_SHOWNORMAL = 1
Const SE_ERR_FNF = 2&
Const SE_ERR_PNF = 3&
Const SE_ERR_ACCESSDENIED = 5&
Const SE_ERR_OOM = 8&
Const SE_ERR_DLLNOTFOUND = 32&
Const SE_ERR_SHARE = 26&
Const SE_ERR_ASSOCINCOMPLETE = 27&
Const SE_ERR_DDETIMEOUT = 28&
Const SE_ERR_DDEFAIL = 29&
Const SE_ERR_DDEBUSY = 30&
Const SE_ERR_NOASSOC = 31&
Const ERROR_BAD_FORMAT = 11&
Public Sub LanceExeAssocie(NomFichier As String)
Dim lghDC As Long, lgRep As Long
Dim stErreur As String
If NomFichier = "" Then
Exit Sub
End If
lghDC = GetDesktopWindow()
lgRep = ShellExecute(lghDC, "Open", NomFichier, "", "C:", SW_SHOWNORMAL)
If lgRep <= 32 Then
'Erreur à afficher en cas d'échec de l'appel
Select Case lgRep
Case SE_ERR_FNF
stErreur = "Fichier non trouvé"
Case SE_ERR_PNF
stErreur = "Chemin non trouvé"
Case SE_ERR_ACCESSDENIED
stErreur = "Accès refusé"
Case SE_ERR_OOM
stErreur = "Pas assez de mémoire"
Case SE_ERR_DLLNOTFOUND
stErreur = "DLL non trouvée"
Case SE_ERR_SHARE
stErreur = "Une violation de partage est apparue"
Case SE_ERR_ASSOCINCOMPLETE
stErreur = "Association incomplète ou invalide"
Case SE_ERR_DDETIMEOUT
stErreur = "DDE Délai dépassé"
Case SE_ERR_DDEFAIL
stErreur = "DDE transaction abortée"
Case SE_ERR_DDEBUSY
stErreur = "DDE occupé"
Case SE_ERR_NOASSOC
stErreur = "Pas d'association enregistrée pour ce type de
fichier"
Case ERROR_BAD_FORMAT
stErreur = "Fichier EXE invalide"
Case Else
stErreur = "Erreur inconnue"
End Select
MsgBox stErreur, vbExclamation, NomEtVersion
End If
End Sub
Je rêve !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
je viens de trouver.
Cela bug en mode EXE si l'exe porte le même
nom que le dossier qui le contient.
Sur le cul !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
"Daniel AUBRY" a écrit dans le message de news:
42c6bdd4$0$31224$
> Bonjour à tous,
>
> j'utilise depuis longtemps une procédure qui me permet
> d'ouvrir un fichier avec le logiciel qui lui est associé sous
> Windows. Cela marche aussi pour les lien Internet.
>
> Exemple :
>
> NomFichier = DossierTemporaire & "Le_Rush_.txt"
> LanceExeAssocie (NomFichier)
>
> Mais aujurd'hui je viens de me rendre compte que cela marche
> en IDE mais plus en EXE pour les liens Internet
>
> NomFichier = "www.google.fr"
> LanceExeAssocie (NomFichier)
>
> Cela me donne le messge "Fichier non trouvé"
>
> A tout hasard je place le code en dessous .............
>
> 'Déclarations nécessaires pour LanceExeAssocie
> Public Declare Function ShellExecute Lib "shell32.dll" Alias
> "ShellExecuteA" (ByVal hWnd As Long, ByVal lpszOp As String, ByVal
> lpszFile As String, ByVal lpszParams As String, ByVal lpszDir As String,
> ByVal FsShowCmd As Long) As Long
> Public Declare Function GetDesktopWindow Lib "user32" () As Long
>
> Const SW_SHOWNORMAL = 1
> Const SE_ERR_FNF = 2&
> Const SE_ERR_PNF = 3&
> Const SE_ERR_ACCESSDENIED = 5&
> Const SE_ERR_OOM = 8&
> Const SE_ERR_DLLNOTFOUND = 32&
> Const SE_ERR_SHARE = 26&
> Const SE_ERR_ASSOCINCOMPLETE = 27&
> Const SE_ERR_DDETIMEOUT = 28&
> Const SE_ERR_DDEFAIL = 29&
> Const SE_ERR_DDEBUSY = 30&
> Const SE_ERR_NOASSOC = 31&
> Const ERROR_BAD_FORMAT = 11&
>
>
> Public Sub LanceExeAssocie(NomFichier As String)
>
> Dim lghDC As Long, lgRep As Long
> Dim stErreur As String
>
> If NomFichier = "" Then
> Exit Sub
> End If
>
> lghDC = GetDesktopWindow()
> lgRep = ShellExecute(lghDC, "Open", NomFichier, "", "C:",
>
> If lgRep <= 32 Then
> 'Erreur à afficher en cas d'échec de l'appel
> Select Case lgRep
> Case SE_ERR_FNF
> stErreur = "Fichier non trouvé"
> Case SE_ERR_PNF
> stErreur = "Chemin non trouvé"
> Case SE_ERR_ACCESSDENIED
> stErreur = "Accès refusé"
> Case SE_ERR_OOM
> stErreur = "Pas assez de mémoire"
> Case SE_ERR_DLLNOTFOUND
> stErreur = "DLL non trouvée"
> Case SE_ERR_SHARE
> stErreur = "Une violation de partage est apparue"
> Case SE_ERR_ASSOCINCOMPLETE
> stErreur = "Association incomplète ou invalide"
> Case SE_ERR_DDETIMEOUT
> stErreur = "DDE Délai dépassé"
> Case SE_ERR_DDEFAIL
> stErreur = "DDE transaction abortée"
> Case SE_ERR_DDEBUSY
> stErreur = "DDE occupé"
> Case SE_ERR_NOASSOC
> stErreur = "Pas d'association enregistrée pour ce type de
> fichier"
> Case ERROR_BAD_FORMAT
> stErreur = "Fichier EXE invalide"
> Case Else
> stErreur = "Erreur inconnue"
> End Select
> MsgBox stErreur, vbExclamation, NomEtVersion
> End If
>
> End Sub
>
>
Je rêve !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
je viens de trouver.
Cela bug en mode EXE si l'exe porte le même
nom que le dossier qui le contient.
Sur le cul !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
"Daniel AUBRY" <mail@daniel-aubry.com> a écrit dans le message de news:
42c6bdd4$0$31224$626a14ce@news.free.fr...
> Bonjour à tous,
>
> j'utilise depuis longtemps une procédure qui me permet
> d'ouvrir un fichier avec le logiciel qui lui est associé sous
> Windows. Cela marche aussi pour les lien Internet.
>
> Exemple :
>
> NomFichier = DossierTemporaire & "Le_Rush_.txt"
> LanceExeAssocie (NomFichier)
>
> Mais aujurd'hui je viens de me rendre compte que cela marche
> en IDE mais plus en EXE pour les liens Internet
>
> NomFichier = "www.google.fr"
> LanceExeAssocie (NomFichier)
>
> Cela me donne le messge "Fichier non trouvé"
>
> A tout hasard je place le code en dessous .............
>
> 'Déclarations nécessaires pour LanceExeAssocie
> Public Declare Function ShellExecute Lib "shell32.dll" Alias
> "ShellExecuteA" (ByVal hWnd As Long, ByVal lpszOp As String, ByVal
> lpszFile As String, ByVal lpszParams As String, ByVal lpszDir As String,
> ByVal FsShowCmd As Long) As Long
> Public Declare Function GetDesktopWindow Lib "user32" () As Long
>
> Const SW_SHOWNORMAL = 1
> Const SE_ERR_FNF = 2&
> Const SE_ERR_PNF = 3&
> Const SE_ERR_ACCESSDENIED = 5&
> Const SE_ERR_OOM = 8&
> Const SE_ERR_DLLNOTFOUND = 32&
> Const SE_ERR_SHARE = 26&
> Const SE_ERR_ASSOCINCOMPLETE = 27&
> Const SE_ERR_DDETIMEOUT = 28&
> Const SE_ERR_DDEFAIL = 29&
> Const SE_ERR_DDEBUSY = 30&
> Const SE_ERR_NOASSOC = 31&
> Const ERROR_BAD_FORMAT = 11&
>
>
> Public Sub LanceExeAssocie(NomFichier As String)
>
> Dim lghDC As Long, lgRep As Long
> Dim stErreur As String
>
> If NomFichier = "" Then
> Exit Sub
> End If
>
> lghDC = GetDesktopWindow()
> lgRep = ShellExecute(lghDC, "Open", NomFichier, "", "C:",
>
> If lgRep <= 32 Then
> 'Erreur à afficher en cas d'échec de l'appel
> Select Case lgRep
> Case SE_ERR_FNF
> stErreur = "Fichier non trouvé"
> Case SE_ERR_PNF
> stErreur = "Chemin non trouvé"
> Case SE_ERR_ACCESSDENIED
> stErreur = "Accès refusé"
> Case SE_ERR_OOM
> stErreur = "Pas assez de mémoire"
> Case SE_ERR_DLLNOTFOUND
> stErreur = "DLL non trouvée"
> Case SE_ERR_SHARE
> stErreur = "Une violation de partage est apparue"
> Case SE_ERR_ASSOCINCOMPLETE
> stErreur = "Association incomplète ou invalide"
> Case SE_ERR_DDETIMEOUT
> stErreur = "DDE Délai dépassé"
> Case SE_ERR_DDEFAIL
> stErreur = "DDE transaction abortée"
> Case SE_ERR_DDEBUSY
> stErreur = "DDE occupé"
> Case SE_ERR_NOASSOC
> stErreur = "Pas d'association enregistrée pour ce type de
> fichier"
> Case ERROR_BAD_FORMAT
> stErreur = "Fichier EXE invalide"
> Case Else
> stErreur = "Erreur inconnue"
> End Select
> MsgBox stErreur, vbExclamation, NomEtVersion
> End If
>
> End Sub
>
>
Je rêve !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
je viens de trouver.
Cela bug en mode EXE si l'exe porte le même
nom que le dossier qui le contient.
Sur le cul !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
"Daniel AUBRY" a écrit dans le message de news:
42c6bdd4$0$31224$
> Bonjour à tous,
>
> j'utilise depuis longtemps une procédure qui me permet
> d'ouvrir un fichier avec le logiciel qui lui est associé sous
> Windows. Cela marche aussi pour les lien Internet.
>
> Exemple :
>
> NomFichier = DossierTemporaire & "Le_Rush_.txt"
> LanceExeAssocie (NomFichier)
>
> Mais aujurd'hui je viens de me rendre compte que cela marche
> en IDE mais plus en EXE pour les liens Internet
>
> NomFichier = "www.google.fr"
> LanceExeAssocie (NomFichier)
>
> Cela me donne le messge "Fichier non trouvé"
>
> A tout hasard je place le code en dessous .............
>
> 'Déclarations nécessaires pour LanceExeAssocie
> Public Declare Function ShellExecute Lib "shell32.dll" Alias
> "ShellExecuteA" (ByVal hWnd As Long, ByVal lpszOp As String, ByVal
> lpszFile As String, ByVal lpszParams As String, ByVal lpszDir As String,
> ByVal FsShowCmd As Long) As Long
> Public Declare Function GetDesktopWindow Lib "user32" () As Long
>
> Const SW_SHOWNORMAL = 1
> Const SE_ERR_FNF = 2&
> Const SE_ERR_PNF = 3&
> Const SE_ERR_ACCESSDENIED = 5&
> Const SE_ERR_OOM = 8&
> Const SE_ERR_DLLNOTFOUND = 32&
> Const SE_ERR_SHARE = 26&
> Const SE_ERR_ASSOCINCOMPLETE = 27&
> Const SE_ERR_DDETIMEOUT = 28&
> Const SE_ERR_DDEFAIL = 29&
> Const SE_ERR_DDEBUSY = 30&
> Const SE_ERR_NOASSOC = 31&
> Const ERROR_BAD_FORMAT = 11&
>
>
> Public Sub LanceExeAssocie(NomFichier As String)
>
> Dim lghDC As Long, lgRep As Long
> Dim stErreur As String
>
> If NomFichier = "" Then
> Exit Sub
> End If
>
> lghDC = GetDesktopWindow()
> lgRep = ShellExecute(lghDC, "Open", NomFichier, "", "C:",
>
> If lgRep <= 32 Then
> 'Erreur à afficher en cas d'échec de l'appel
> Select Case lgRep
> Case SE_ERR_FNF
> stErreur = "Fichier non trouvé"
> Case SE_ERR_PNF
> stErreur = "Chemin non trouvé"
> Case SE_ERR_ACCESSDENIED
> stErreur = "Accès refusé"
> Case SE_ERR_OOM
> stErreur = "Pas assez de mémoire"
> Case SE_ERR_DLLNOTFOUND
> stErreur = "DLL non trouvée"
> Case SE_ERR_SHARE
> stErreur = "Une violation de partage est apparue"
> Case SE_ERR_ASSOCINCOMPLETE
> stErreur = "Association incomplète ou invalide"
> Case SE_ERR_DDETIMEOUT
> stErreur = "DDE Délai dépassé"
> Case SE_ERR_DDEFAIL
> stErreur = "DDE transaction abortée"
> Case SE_ERR_DDEBUSY
> stErreur = "DDE occupé"
> Case SE_ERR_NOASSOC
> stErreur = "Pas d'association enregistrée pour ce type de
> fichier"
> Case ERROR_BAD_FORMAT
> stErreur = "Fichier EXE invalide"
> Case Else
> stErreur = "Erreur inconnue"
> End Select
> MsgBox stErreur, vbExclamation, NomEtVersion
> End If
>
> End Sub
>
>
Toujours pas reproduit chez moi:
C:tmptmp.exe
et ca marche toujours...
N'est ce pas la bonne manip?
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;
"Daniel AUBRY" a écrit dans le message de
news:42c6d500$0$27608$Je rêve !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
je viens de trouver.
Cela bug en mode EXE si l'exe porte le même
nom que le dossier qui le contient.
Sur le cul !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
"Daniel AUBRY" a écrit dans le message de news:
42c6bdd4$0$31224$
> Bonjour à tous,
>
> j'utilise depuis longtemps une procédure qui me permet
> d'ouvrir un fichier avec le logiciel qui lui est associé sous
> Windows. Cela marche aussi pour les lien Internet.
>
> Exemple :
>
> NomFichier = DossierTemporaire & "Le_Rush_.txt"
> LanceExeAssocie (NomFichier)
>
> Mais aujurd'hui je viens de me rendre compte que cela marche
> en IDE mais plus en EXE pour les liens Internet
>
> NomFichier = "www.google.fr"
> LanceExeAssocie (NomFichier)
>
> Cela me donne le messge "Fichier non trouvé"
>
> A tout hasard je place le code en dessous .............
>
> 'Déclarations nécessaires pour LanceExeAssocie
> Public Declare Function ShellExecute Lib "shell32.dll" Alias
> "ShellExecuteA" (ByVal hWnd As Long, ByVal lpszOp As String, ByVal
> lpszFile As String, ByVal lpszParams As String, ByVal lpszDir As
> String,
> ByVal FsShowCmd As Long) As Long
> Public Declare Function GetDesktopWindow Lib "user32" () As Long
>
> Const SW_SHOWNORMAL = 1
> Const SE_ERR_FNF = 2&
> Const SE_ERR_PNF = 3&
> Const SE_ERR_ACCESSDENIED = 5&
> Const SE_ERR_OOM = 8&
> Const SE_ERR_DLLNOTFOUND = 32&
> Const SE_ERR_SHARE = 26&
> Const SE_ERR_ASSOCINCOMPLETE = 27&
> Const SE_ERR_DDETIMEOUT = 28&
> Const SE_ERR_DDEFAIL = 29&
> Const SE_ERR_DDEBUSY = 30&
> Const SE_ERR_NOASSOC = 31&
> Const ERROR_BAD_FORMAT = 11&
>
>
> Public Sub LanceExeAssocie(NomFichier As String)
>
> Dim lghDC As Long, lgRep As Long
> Dim stErreur As String
>
> If NomFichier = "" Then
> Exit Sub
> End If
>
> lghDC = GetDesktopWindow()
> lgRep = ShellExecute(lghDC, "Open", NomFichier, "", "C:",
SW_SHOWNORMAL)>
> If lgRep <= 32 Then
> 'Erreur à afficher en cas d'échec de l'appel
> Select Case lgRep
> Case SE_ERR_FNF
> stErreur = "Fichier non trouvé"
> Case SE_ERR_PNF
> stErreur = "Chemin non trouvé"
> Case SE_ERR_ACCESSDENIED
> stErreur = "Accès refusé"
> Case SE_ERR_OOM
> stErreur = "Pas assez de mémoire"
> Case SE_ERR_DLLNOTFOUND
> stErreur = "DLL non trouvée"
> Case SE_ERR_SHARE
> stErreur = "Une violation de partage est apparue"
> Case SE_ERR_ASSOCINCOMPLETE
> stErreur = "Association incomplète ou invalide"
> Case SE_ERR_DDETIMEOUT
> stErreur = "DDE Délai dépassé"
> Case SE_ERR_DDEFAIL
> stErreur = "DDE transaction abortée"
> Case SE_ERR_DDEBUSY
> stErreur = "DDE occupé"
> Case SE_ERR_NOASSOC
> stErreur = "Pas d'association enregistrée pour ce type de
> fichier"
> Case ERROR_BAD_FORMAT
> stErreur = "Fichier EXE invalide"
> Case Else
> stErreur = "Erreur inconnue"
> End Select
> MsgBox stErreur, vbExclamation, NomEtVersion
> End If
>
> End Sub
>
>
Toujours pas reproduit chez moi:
C:tmptmp.exe
et ca marche toujours...
N'est ce pas la bonne manip?
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ; _no_spam_jean_marc_n2@yahoo.fr
"Daniel AUBRY" <mail@daniel-aubry.com> a écrit dans le message de
news:42c6d500$0$27608$636a15ce@news.free.fr...
Je rêve !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
je viens de trouver.
Cela bug en mode EXE si l'exe porte le même
nom que le dossier qui le contient.
Sur le cul !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
"Daniel AUBRY" <mail@daniel-aubry.com> a écrit dans le message de news:
42c6bdd4$0$31224$626a14ce@news.free.fr...
> Bonjour à tous,
>
> j'utilise depuis longtemps une procédure qui me permet
> d'ouvrir un fichier avec le logiciel qui lui est associé sous
> Windows. Cela marche aussi pour les lien Internet.
>
> Exemple :
>
> NomFichier = DossierTemporaire & "Le_Rush_.txt"
> LanceExeAssocie (NomFichier)
>
> Mais aujurd'hui je viens de me rendre compte que cela marche
> en IDE mais plus en EXE pour les liens Internet
>
> NomFichier = "www.google.fr"
> LanceExeAssocie (NomFichier)
>
> Cela me donne le messge "Fichier non trouvé"
>
> A tout hasard je place le code en dessous .............
>
> 'Déclarations nécessaires pour LanceExeAssocie
> Public Declare Function ShellExecute Lib "shell32.dll" Alias
> "ShellExecuteA" (ByVal hWnd As Long, ByVal lpszOp As String, ByVal
> lpszFile As String, ByVal lpszParams As String, ByVal lpszDir As
> String,
> ByVal FsShowCmd As Long) As Long
> Public Declare Function GetDesktopWindow Lib "user32" () As Long
>
> Const SW_SHOWNORMAL = 1
> Const SE_ERR_FNF = 2&
> Const SE_ERR_PNF = 3&
> Const SE_ERR_ACCESSDENIED = 5&
> Const SE_ERR_OOM = 8&
> Const SE_ERR_DLLNOTFOUND = 32&
> Const SE_ERR_SHARE = 26&
> Const SE_ERR_ASSOCINCOMPLETE = 27&
> Const SE_ERR_DDETIMEOUT = 28&
> Const SE_ERR_DDEFAIL = 29&
> Const SE_ERR_DDEBUSY = 30&
> Const SE_ERR_NOASSOC = 31&
> Const ERROR_BAD_FORMAT = 11&
>
>
> Public Sub LanceExeAssocie(NomFichier As String)
>
> Dim lghDC As Long, lgRep As Long
> Dim stErreur As String
>
> If NomFichier = "" Then
> Exit Sub
> End If
>
> lghDC = GetDesktopWindow()
> lgRep = ShellExecute(lghDC, "Open", NomFichier, "", "C:",
SW_SHOWNORMAL)
>
> If lgRep <= 32 Then
> 'Erreur à afficher en cas d'échec de l'appel
> Select Case lgRep
> Case SE_ERR_FNF
> stErreur = "Fichier non trouvé"
> Case SE_ERR_PNF
> stErreur = "Chemin non trouvé"
> Case SE_ERR_ACCESSDENIED
> stErreur = "Accès refusé"
> Case SE_ERR_OOM
> stErreur = "Pas assez de mémoire"
> Case SE_ERR_DLLNOTFOUND
> stErreur = "DLL non trouvée"
> Case SE_ERR_SHARE
> stErreur = "Une violation de partage est apparue"
> Case SE_ERR_ASSOCINCOMPLETE
> stErreur = "Association incomplète ou invalide"
> Case SE_ERR_DDETIMEOUT
> stErreur = "DDE Délai dépassé"
> Case SE_ERR_DDEFAIL
> stErreur = "DDE transaction abortée"
> Case SE_ERR_DDEBUSY
> stErreur = "DDE occupé"
> Case SE_ERR_NOASSOC
> stErreur = "Pas d'association enregistrée pour ce type de
> fichier"
> Case ERROR_BAD_FORMAT
> stErreur = "Fichier EXE invalide"
> Case Else
> stErreur = "Erreur inconnue"
> End Select
> MsgBox stErreur, vbExclamation, NomEtVersion
> End If
>
> End Sub
>
>
Toujours pas reproduit chez moi:
C:tmptmp.exe
et ca marche toujours...
N'est ce pas la bonne manip?
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;
"Daniel AUBRY" a écrit dans le message de
news:42c6d500$0$27608$Je rêve !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
je viens de trouver.
Cela bug en mode EXE si l'exe porte le même
nom que le dossier qui le contient.
Sur le cul !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
"Daniel AUBRY" a écrit dans le message de news:
42c6bdd4$0$31224$
> Bonjour à tous,
>
> j'utilise depuis longtemps une procédure qui me permet
> d'ouvrir un fichier avec le logiciel qui lui est associé sous
> Windows. Cela marche aussi pour les lien Internet.
>
> Exemple :
>
> NomFichier = DossierTemporaire & "Le_Rush_.txt"
> LanceExeAssocie (NomFichier)
>
> Mais aujurd'hui je viens de me rendre compte que cela marche
> en IDE mais plus en EXE pour les liens Internet
>
> NomFichier = "www.google.fr"
> LanceExeAssocie (NomFichier)
>
> Cela me donne le messge "Fichier non trouvé"
>
> A tout hasard je place le code en dessous .............
>
> 'Déclarations nécessaires pour LanceExeAssocie
> Public Declare Function ShellExecute Lib "shell32.dll" Alias
> "ShellExecuteA" (ByVal hWnd As Long, ByVal lpszOp As String, ByVal
> lpszFile As String, ByVal lpszParams As String, ByVal lpszDir As
> String,
> ByVal FsShowCmd As Long) As Long
> Public Declare Function GetDesktopWindow Lib "user32" () As Long
>
> Const SW_SHOWNORMAL = 1
> Const SE_ERR_FNF = 2&
> Const SE_ERR_PNF = 3&
> Const SE_ERR_ACCESSDENIED = 5&
> Const SE_ERR_OOM = 8&
> Const SE_ERR_DLLNOTFOUND = 32&
> Const SE_ERR_SHARE = 26&
> Const SE_ERR_ASSOCINCOMPLETE = 27&
> Const SE_ERR_DDETIMEOUT = 28&
> Const SE_ERR_DDEFAIL = 29&
> Const SE_ERR_DDEBUSY = 30&
> Const SE_ERR_NOASSOC = 31&
> Const ERROR_BAD_FORMAT = 11&
>
>
> Public Sub LanceExeAssocie(NomFichier As String)
>
> Dim lghDC As Long, lgRep As Long
> Dim stErreur As String
>
> If NomFichier = "" Then
> Exit Sub
> End If
>
> lghDC = GetDesktopWindow()
> lgRep = ShellExecute(lghDC, "Open", NomFichier, "", "C:",
SW_SHOWNORMAL)>
> If lgRep <= 32 Then
> 'Erreur à afficher en cas d'échec de l'appel
> Select Case lgRep
> Case SE_ERR_FNF
> stErreur = "Fichier non trouvé"
> Case SE_ERR_PNF
> stErreur = "Chemin non trouvé"
> Case SE_ERR_ACCESSDENIED
> stErreur = "Accès refusé"
> Case SE_ERR_OOM
> stErreur = "Pas assez de mémoire"
> Case SE_ERR_DLLNOTFOUND
> stErreur = "DLL non trouvée"
> Case SE_ERR_SHARE
> stErreur = "Une violation de partage est apparue"
> Case SE_ERR_ASSOCINCOMPLETE
> stErreur = "Association incomplète ou invalide"
> Case SE_ERR_DDETIMEOUT
> stErreur = "DDE Délai dépassé"
> Case SE_ERR_DDEFAIL
> stErreur = "DDE transaction abortée"
> Case SE_ERR_DDEBUSY
> stErreur = "DDE occupé"
> Case SE_ERR_NOASSOC
> stErreur = "Pas d'association enregistrée pour ce type de
> fichier"
> Case ERROR_BAD_FORMAT
> stErreur = "Fichier EXE invalide"
> Case Else
> stErreur = "Erreur inconnue"
> End Select
> MsgBox stErreur, vbExclamation, NomEtVersion
> End If
>
> End Sub
>
>