Appeler un fichier par un boutton en VB6
Fermé
hakim_fth
Messages postés
138
Date d'inscription
samedi 21 juin 2008
Statut
Membre
Dernière intervention
5 octobre 2023
-
25 juin 2012 à 22:45
jmwurth Messages postés 2933 Date d'inscription dimanche 13 août 2006 Statut Membre Dernière intervention 23 juin 2013 - 29 juin 2012 à 10:22
jmwurth Messages postés 2933 Date d'inscription dimanche 13 août 2006 Statut Membre Dernière intervention 23 juin 2013 - 29 juin 2012 à 10:22
A voir également:
- Appeler un fichier par un boutton en VB6
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier host - Guide
- Appeler en privé - Guide
3 réponses
jmwurth
Messages postés
2933
Date d'inscription
dimanche 13 août 2006
Statut
Membre
Dernière intervention
23 juin 2013
850
28 juin 2012 à 09:04
28 juin 2012 à 09:04
Bonjour
exemples de commandes en appuyant sur une touche
Private Sub signifext_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then okext_Click 'touche Enter
'If KeyAscii = 27 Then extvert.Text = "" 'touche Echap
If KeyAscii = 32 Then 'barre d'espace
(...)
End If
End Sub
Pour ouvrir un fichier, vous connaissez sans doute la commande
exemples de commandes en appuyant sur une touche
Private Sub signifext_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then okext_Click 'touche Enter
'If KeyAscii = 27 Then extvert.Text = "" 'touche Echap
If KeyAscii = 32 Then 'barre d'espace
(...)
End If
End Sub
Pour ouvrir un fichier, vous connaissez sans doute la commande
jmwurth
Messages postés
2933
Date d'inscription
dimanche 13 août 2006
Statut
Membre
Dernière intervention
23 juin 2013
850
Modifié par jmwurth le 28/06/2012 à 17:29
Modifié par jmwurth le 28/06/2012 à 17:29
Erreur. Il s'agit d'ouvrir un fichier via un button.
Pour exécuter un fichier
Private Sub execut_Click()
On Error GoTo fin_exec
exec = ShellExecute(hwnd, vbNullString, nomf, 0&, filelist.Path, 1)
errexecut
Exit Sub
fin_exec:
End Sub
nomf est le nom du fichier, filelist.path est le dossier avec son chemin
Private Sub errexecut()
If Format(exec) = 2 Then messa = MsgBox("fichier non trouvé", 64)
If Format(exec) = 3 Then messa = MsgBox("chemin non trouvé", 64)
If Format(exec) = 5 Then messa = MsgBox("accès refusé", 64)
If Format(exec) = 8 Then messa = MsgBox("mémoire insuffisante", 64)
If Format(exec) = 12 Then messa = MsgBox("fichier incompatible avec Windows", 64)
If Format(exec) = 26 Then messa = MsgBox("erreur de partage", 64)
If Format(exec) = 27 Then messa = MsgBox("association incomplète", 64)
If Format(exec) = 28 Then messa = MsgBox("DDE time out", 64)
If Format(exec) = 29 Then messa = MsgBox("échec DDE", 64)
If Format(exec) = 30 Then messa = MsgBox("DDE occupé", 64)
If Format(exec) = 31 Then messa = MsgBox("L'extension n'a pas d'association", 64)
If Format(exec) = 32 Then messa = MsgBox("shell32.dll non trouvé dans \windows\system", 64)
End Sub
Pour exécuter un fichier
Private Sub execut_Click()
On Error GoTo fin_exec
exec = ShellExecute(hwnd, vbNullString, nomf, 0&, filelist.Path, 1)
errexecut
Exit Sub
fin_exec:
End Sub
nomf est le nom du fichier, filelist.path est le dossier avec son chemin
Private Sub errexecut()
If Format(exec) = 2 Then messa = MsgBox("fichier non trouvé", 64)
If Format(exec) = 3 Then messa = MsgBox("chemin non trouvé", 64)
If Format(exec) = 5 Then messa = MsgBox("accès refusé", 64)
If Format(exec) = 8 Then messa = MsgBox("mémoire insuffisante", 64)
If Format(exec) = 12 Then messa = MsgBox("fichier incompatible avec Windows", 64)
If Format(exec) = 26 Then messa = MsgBox("erreur de partage", 64)
If Format(exec) = 27 Then messa = MsgBox("association incomplète", 64)
If Format(exec) = 28 Then messa = MsgBox("DDE time out", 64)
If Format(exec) = 29 Then messa = MsgBox("échec DDE", 64)
If Format(exec) = 30 Then messa = MsgBox("DDE occupé", 64)
If Format(exec) = 31 Then messa = MsgBox("L'extension n'a pas d'association", 64)
If Format(exec) = 32 Then messa = MsgBox("shell32.dll non trouvé dans \windows\system", 64)
End Sub
jmwurth
Messages postés
2933
Date d'inscription
dimanche 13 août 2006
Statut
Membre
Dernière intervention
23 juin 2013
850
Modifié par jmwurth le 28/06/2012 à 20:11
Modifié par jmwurth le 28/06/2012 à 20:11
A ajouter aux déclarations
Option Explicit
Private Type SHELLEXECUTEINFO
cbSize As Long
fMask As Long
hwnd As Long
lpVerb As String
lpFile As String
lpParameters As String
lpDirectory As String
nShow As Long
hInstApp As Long
lpIDList As Long
lpClass As String
hkeyClass As Long
dwHotKey As Long
hIcon As Long
hProcess As Long
End Type
'
Private Const SEE_MASK_INVOKEIDLIST = &HC
Private Const SEE_MASK_NOCLOSEPROCESS = &H40
Private Const SEE_MASK_FLAG_NO_UI = &H400
Private Declare Function ShellExecuteEX Lib "shell32.dll" Alias "ShellExecuteEx" (SEI As SHELLEXECUTEINFO) As Long
Private 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
Private Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Private Declare Function GetTempPath Lib "kernel32" Alias "GetTempPathA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long
Option Explicit
Private Type SHELLEXECUTEINFO
cbSize As Long
fMask As Long
hwnd As Long
lpVerb As String
lpFile As String
lpParameters As String
lpDirectory As String
nShow As Long
hInstApp As Long
lpIDList As Long
lpClass As String
hkeyClass As Long
dwHotKey As Long
hIcon As Long
hProcess As Long
End Type
'
Private Const SEE_MASK_INVOKEIDLIST = &HC
Private Const SEE_MASK_NOCLOSEPROCESS = &H40
Private Const SEE_MASK_FLAG_NO_UI = &H400
Private Declare Function ShellExecuteEX Lib "shell32.dll" Alias "ShellExecuteEx" (SEI As SHELLEXECUTEINFO) As Long
Private 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
Private Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Private Declare Function GetTempPath Lib "kernel32" Alias "GetTempPathA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long
hakim_fth
Messages postés
138
Date d'inscription
samedi 21 juin 2008
Statut
Membre
Dernière intervention
5 octobre 2023
28 juin 2012 à 23:16
28 juin 2012 à 23:16
Je te remercie infiniment pour ton retour " jmwurth", mais vraiment je n'arrive pas à appliquer tout ça. C'est très longue.
jmwurth
Messages postés
2933
Date d'inscription
dimanche 13 août 2006
Statut
Membre
Dernière intervention
23 juin 2013
850
Modifié par jmwurth le 29/06/2012 à 10:35
Modifié par jmwurth le 29/06/2012 à 10:35
Il y a beaucoup de choses qui concernent la recherche d'une éventuelle erreur, ainsi que des fonctions non utilisées ici. Je vais conserver l'essentiel
Private Sub execut_Click()
nomf, doss as string
On Error GoTo fin_exec
exec = ShellExecute(hwnd, vbNullString, nomf, 0&, doss, 1)
Exit Sub
fin_exec:
MsgBox("ERREUR jmwurth", 64)
End Sub
nomf est le nom du fichier sans chemin, doss est le dossier avec son chemin
A déclarer
Private 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
Private Sub execut_Click()
nomf, doss as string
On Error GoTo fin_exec
exec = ShellExecute(hwnd, vbNullString, nomf, 0&, doss, 1)
Exit Sub
fin_exec:
MsgBox("ERREUR jmwurth", 64)
End Sub
nomf est le nom du fichier sans chemin, doss est le dossier avec son chemin
A déclarer
Private 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