wshRun. Llamar a un programa o un documento (WSH)


Volver
'*********************************************************
' wshRun
'
' Función que ejecuta una aplicación o un documento
' que se abra con una aplicación registrada en el sistema.
' Este método es una alternativa válida hasta donde yo
' conozco del método Shell de Visual Basic (sólo con 
' ficheros ejecutables) y el API ShellExecute o 
' ShellExecuteEx (ficheros ejecutables y documentos 
' asociados a alguna aplicación registrada).
'
' Además tiene la ventaja de que en su tercer argumento
' nos da la posibilidad de que el código que la llama
' se detenga hasta que la aplicación que ha sido llamada
' no acabe (esto lo conseguiríamos también llamando al
' API WaitForSingleObject).
'
' Argumentos
'   Command: Requerido. Una cadena que contendrá el nombre
'   de la aplicación registrada o la ruta completa del
'   fichero ejecutable o del documento 
'   WindowStyle: Opcional. Una de las siguientes constantes
'      vbHide
'      vbMaximizedFocus
'      vbMinimizedFocus
'      vbMinimizedNoFocus
'      vbNormalFocus (predeterminado)
'      vbNormalNoFocus
'   WaintOnReturn: Opcional. True/False que indica si el
'   código que llama a esta función se detendrá esperando
'   el final del proceso que se abre.
'
Function wshRun( _
                Command As String, _
                Optional WindowStyle, _
                Optional WaitOnReturn) As Long

Dim wShell As Object 'wshShell
Dim fso As Object 'FileSystemObject

    On Error Resume Next
    Set fso = CreateObject("Scripting.FileSystemObject")
    Command = fso.GetFile(Command).ShortPath
    Set fso = Nothing
    
    On Error GoTo err_wshRun
    Set wShell = CreateObject("WScript.Shell")
    wshRun = wShell.Run(Command, WindowStyle, WaitOnReturn)
    Set wShell = Nothing

    Exit Function
    
err_wshRun:
    
    MsgBox "Nombre de archivo o ruta no válidos", vbCritical
        
End Function
'*********************************************************
Contactar Última actualización 25/10/2003     © Juan M. Afán deRibera