|    
			
				20/08/2007, 01:35
			
			
			  | 
  |   |  |  |  |  Fecha de Ingreso: agosto-2007 
						Mensajes: 1.338
					 Antigüedad: 18 años, 2 meses Puntos: 18 |  | 
  |  Re: Iniciar una aplicación  
  Y este codigo, tambien usando sehell execute, te permite abrir cualquier archivo controlando cualquier error:
 'Constantes de retorno de error para ShellExecute
 
 Public Const ERROR_FILE_NOT_FOUND = 2&
 Public Const ERROR_PATH_NOT_FOUND = 3&
 Public Const ERROR_BAD_FORMAT = 11&
 Public Const SE_ERR_ACCESSDENIED = 5
 Public Const SE_ERR_ASSOCINCOMPLETE = 27
 Public Const SE_ERR_DDEBUSY = 30
 Public Const SE_ERR_DDEFAIL = 29
 Public Const SE_ERR_DDETIMEOUT = 28
 Public Const SE_ERR_DLLNOTFOUND = 32
 Public Const SE_ERR_FNF = 2
 Public Const SE_ERR_NOASSOC = 31
 Public Const SE_ERR_OOM = 8
 Public Const SE_ERR_PNF = 3
 
 'Declaración de ShellExecute
 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
 
 Public Const SW_SHOWNORMAL = 3
 
 
 Public Sub Abrir_Archivo(ElArchivo As String)
 
 'Abre el archivo
 Select Case ShellExecute(hwnd, "open", ElArchivo, vbNullString, _
 vbNullString, SW_SHOWNORMAL)
 
 'Retorno de ShellExecute
 
 Case 0
 MsgBox "Error en la apertura del archivo:" & vbCrLf & _
 "Fuera de memoria o de recursos ", vbCritical, "ERROR EN LA APERTURA"
 Case ERROR_BAD_FORMAT
 MsgBox "Error en la apertura del archivo:" & vbCrLf & _
 "Formato inválido de archivo", vbCritical, "ERROR EN LA APERTURA"
 Case SE_ERR_ACCESSDENIED
 MsgBox "Error en la apertura del archivo:" & vbCrLf & _
 "Acceso denegado al intentar abrir el archivo", vbCritical, "ERROR EN LA APERTURA"
 Case SE_ERR_ASSOCINCOMPLETE
 MsgBox "Error en la apertura del archivo:" & vbCrLf & _
 "Extensión incompleta o inválida del nombre del archivo", vbCritical, "ERROR EN LA APERTURA"
 Case SE_ERR_DDEBUSY
 MsgBox "Error en la apertura del archivo:" & vbCrLf & _
 "DDE ocupado", vbCritical, "ERROR EN LA APERTURA"
 Case SE_ERR_DDEFAIL
 MsgBox "Error en la apertura del archivo:" & vbCrLf & _
 "Fallo en la transacción DDE", vbCritical, "ERROR EN LA APERTURA"
 Case SE_ERR_DDETIMEOUT
 MsgBox "Error en la apertura del archivo:" & vbCrLf & _
 "Petición DDE fuera de tiempo", vbCritical, "ERROR EN LA APERTURA"
 Case SE_ERR_DLLNOTFOUND
 MsgBox "Error en la apertura del archivo:" & vbCrLf & _
 "DLL no encontrada", vbCritical, "ERROR EN LA APERTURA"
 Case ERROR_FILE_NOT_FOUND, SE_ERR_FNF
 MsgBox "Error en la apertura del archivo:" & vbCrLf & _
 "Archivo no encontrado", vbCritical, "ERROR EN LA APERTURA"
 Case SE_ERR_NOASSOC
 MsgBox "Error en la apertura del archivo:" & vbCrLf & _
 "El archivo no está asociado a ninguna aplicación", vbCritical, "ERROR EN LA APERTURA"
 Case SE_ERR_OOM
 MsgBox "Error en la apertura del archivo:" & vbCrLf & _
 "Fuera de memoria", vbCritical, "ERROR EN LA APERTURA"
 Case ERROR_PATH_NOT_FOUND, SE_ERR_PNF
 MsgBox "Error en la apertura del archivo:" & vbCrLf & _
 "Path no encontrada", vbCritical, "ERROR EN LA APERTURA"
 Case SE_ERR_SHARE
 MsgBox "Error en la apertura del archivo:" & vbCrLf & _
 "Sharing violation", vbCritical, "ERROR EN LA APERTURA"
 End Select
 
 End Sub
 
 Un saludo
     |