Creo que esto es lo que pides:
Código vb:
Ver originalPrivate Sub Command1_Click()
Static Respuesta as string ' creamos una variable que no se pierde
' NOTA; esta variable la deberias hacer global y cargarla con el contenido
' del fichero rutaapp.txt antes de entrar en esta sub.
' de todas formas asi sirve.
'Verificar si existe
' si la variable no se ha cargado la cargamos
if respuesta="" then respuesta="C:\Program Files\KONAMI\Pro Evolution Soccer 6\PES6.exe"
' y si no es valida pedimos la nueva ruta
If Dir(respuesta, vbArchive) = vbNullString Then
'Si el usuario elige "Si", con el "CommonDialog" usamos "CommonDialog1.ShowOpen" para que el usuario busque el ejecutable
If Respuesta = vbNullString Then
CommonDialog1.Filter = "Archivos Ejecutables (*.exe)|*.exe"
CommonDialog1.ShowOpen
'si el usuario selecciona cancelar que salga del sub
If CommonDialog1.FileName = "" Then Exit Sub
'Si selecciona un ejecutable que lo abra
Shell CommonDialog1.FileName, vbNormalFocus
' Y ESTO SOLO SE GUARDA AQUI, SI LO GUARDAS DONDE ESTABA
' SE GUARDA SIEMPRE AUNQUE LA RUTA QUE CONTIENE YA SEA VALIDA
Open "C:\RutaApp.txt" For Output As #1
Print #1, CommonDialog1.FileName
Close #1
End If
Else
'En caso de que en la comprobación si exista el ejecutable que lo abra.
Shell respuesta, vbNormalFocus
End If
Me.WindowState = 1
End Sub