Ejecutar aplicaciones de Windows desde Excel vba

En la sección Windows de nuestro EXCELeINFO add-in se incluyen accesos directos a programas de Windows, mismos que son llamados desde vba con el método LoadFile.

Dicho método viene declarado en la shell32.dll por lo que será necesario hacer una referencia en el módulo donde pensemos incluir el código.

Abrir programas de Windows desde Excel vba

Figura 1. EXCELeINFO add-in contiene accesos directos a progamas de Windows.

Código de la macro

En un módulo normal y antes de todas las macros o funciones vamos a hacer referencia al archivo shell32.dll con el siguiente código.

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

Las siguientes macros nos  permitirán abrir cada uno de los programas de Windows, tales como:

  1. Bloc de notas.
  2. Calculadora.
  3. Mapa de caracteres.
  4. Explorador de Windows.
  5. Visor de portapapeles.
Sub LoadCalc()
LoadFile "Calc.exe"
End Sub
'
Sub LoadNotepad()
LoadFile "Notepad.exe"
End Sub
'
Sub LoadExplorer()
LoadFile "Explorer.exe"
End Sub
'
Sub LoadClipbrd()
LoadFile "Clipbrd.exe"
End Sub
'
Sub LoadCharmap()
LoadFile "Charmap.exe"
End Sub

Para abrir una página Web en el navegador prederminado usamos el método ShellExecute.

Sub LoadMyBlog()
ShellExecute 0, "Open", "http://blogs.itpro.es/exceleinfo/", "", "", 1
End Sub

Fe de erratas:
Hacía falta incluir la función LoadFile.

Sub LoadFile(FileName As String)
ShellExecute 0, “Open”, FileName, “”, “”, 1
End Sub

También te podría gustar...