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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
| Option Compare Database
Option Explicit
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
Public Enum TypeOuverture
imprimer = 1
ouvrir = 2
End Enum
Public Sub OuvrirDocument(strCheminFichier As String, Optional Action As TypeOuverture = 2)
'--------------------------------------------------------------------------------------------
' Projet : Interface Windows
' Auteurs : Romain Puyfoulhoux - http://access.developpez.com
' Christophe Warin (Tofalu) - http://access.developpez.com
' pour la gestion des erreurs
' Version / Date : 1.0 / 01.01.2008
' Révision / Date : 1.1 / 11.03.2008 - Modification de l'appel - énumération + passage
' optionnel du type d'action (ouverture ou impression,
' mode ouverture par défaut
'
' Commentaires : Permet d'ouvrir un fichier sans déclarer l'application a utiliser
'
' Exemple d'appel :
' Call OuvrirDocument ("C:\Projets Access\Exemple.doc", ouvrir)
'
' Lien : http://access.developpez.com/faq/?page=Automation#shellexecute
'--------------------------------------------------------------------------------------------
'Déclaration de la variable
Dim strDescriptionErreur As String
Select Case ShellExecute(0, IIf(Action = ouvrir, "open", "print"), strCheminFichier, vbNullString, vbNullString, 1)
Case 0: strDescriptionErreur = "Le système manque de mémoire ou de ressources, l'exécutable est corrompu ou réallocations non valides."
Case 2: strDescriptionErreur = "Fichier non trouvé."
Case 3: strDescriptionErreur = "Chemin non trouvé."
Case 5: strDescriptionErreur = "Une tentative a été faite pour se lier dynamiquement à une tache, ou il y a eu une erreur de partage ou de protection réseau."
Case 6: strDescriptionErreur = "La librairie requiert des segments de données séparés pour chaque tâche."
Case 8: strDescriptionErreur = "Il n 'y a pas assez de mémoire disponible pour lancer l'application."
Case 10: strDescriptionErreur = "Version de Windows incorrecte."
Case 11: strDescriptionErreur = "Le fichier exécutable n'est pas correct, il se peut que ce ne soit pas une application Windows, ou qu'il y ait une erreur dans le fichier .EXE;"
Case 12: strDescriptionErreur = "L'application a été conçue pour un autre système d'exploitation."
Case 13: strDescriptionErreur = "L'application a été conçue pour MS-DOS 4.0."
Case 14: strDescriptionErreur = "Le type de fichier exécutable est inconnu."
Case 15: strDescriptionErreur = "Tentative de chargement d'une application en mode réel."
Case 16: strDescriptionErreur = "Tentative de charger une seconde instance d'un fichier exécutable contenant plusieurs segments de données qui ne sont pas marqués en lecture seule."
Case 19: strDescriptionErreur = "Tentative de charger un fichier exécutable compressé. Le fichier doit être décompressé avant d'être chargé."
Case 20: strDescriptionErreur = "Fichier de librairie liée dynamiquement (DLL) incorrect, une des DLLs requise pour exécuter cette application est corrompue."
Case 21: strDescriptionErreur = "L'application requiert les extensions Microsoft Windows 32-bit."
Case 31: strDescriptionErreur = "Il n 'y a pas d'association pour le type de fichier spécifié, ou il n'y a pas d'association pour l'action choisie pour le type de fichier choisi."
End Select
If strDescriptionErreur <> "" Then
MsgBox strDescriptionErreur
End If
End Sub |
Partager