Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/01/2004, 14:54
rafapaskual
 
Fecha de Ingreso: septiembre-2003
Mensajes: 172
Antigüedad: 21 años, 5 meses
Puntos: 0
Hola paranoid, para abrir cualquier archivo con su programa asociado como hace windows cuando pinchas en un archivo usa la API ShellExecute.
Yo lo que hice para no tener que llamar a toda la API, como siempre hacia lo mismo fue meter la llamada a la Api en una función que siempre le pasaba los mismos parametros excepto la ruta.

' Mi funcion

Public Sub Abre(ruta As String)
Dim Ventana As Long 'variable necesaria para la API
Dim sError As String 'cadena de error
'llama a la API que abre cualquier documento que tenga un programa asociado
' el valor 5 del último parámetro equivale a la constante SW_SHOW que hace que se muestre el documento
If ShellExecute(Ventana, "open", ruta, vbNullString, vbNullString, 5) <= 32 Then
sError = MsgBox("No puede abrir o no se encuentra el documento" & vbCrLf & ruta, vbExclamation + vbOKOnly, "Error")
End If
End Sub

Tendras que declarar la API en un módulo.

'Declaracion

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

Saludos!
__________________
Sr.Propio