RE:Como hacer activa una aplicaciones desde VB
podrías usar SetForegroundWindow de la API
acá te dejo un Sub que no falla...
Private Declare Function apiGetForegroundWindow Lib "user32" Alias "GetForegroundWindow" () As Long
Private Declare Function apiSetForegroundWindow Lib "user32" Alias "SetForegroundWindow" (ByVal hWnd As Long) As Long
Private Declare Function apiGetWindowThreadProcessId Lib "user32" Alias "GetWindowThreadProcessId" (ByVal hWnd As Long, lpdwProcessId As Long) As Long
Private Declare Function apiAttachThreadInput Lib "user32" Alias "AttachThreadInput" (ByVal idAttach As Long, ByVal idAttachTo As Long, ByVal fAttach As Long) As Long
Private Declare Function apiGetCurrentThreadId Lib "kernel32" Alias "GetCurrentThreadId" () As Long
Private Sub SetForegroundWindowEx(ByVal hWnd As Long)
Dim lThread1&, lThread2&
On Error Resume Next
'//Ver la Ayuda de las API's correspondientes
lThread1 = apiGetWindowThreadProcessId(apiGetForegroundWindow(), 0)
lThread2 = apiGetCurrentThreadId()
Call apiAttachThreadInput(lThread2, lThread1, 1)
Call apiSetForegroundWindow(hWnd)
Call apiAttachThreadInput(lThread2, lThread1, 0)
End Sub
Saludos desde Baires, JuanC