[VBA] Problema con el comando shell

julie75 -  
JuB0 Mensajes publicados 658 Estado Miembro -
¡Hola a todos!

Ahí va, me encuentro con un problema muy muy extraño al usar el comando shell en VBA; quiero lanzar telnet desde mi hoja de Excel, así que hago:

AdIP = "10.16.1.212"
prog = "C:\Windows\System32\"
retval = Shell(prog & "cmd /k telnet -f " & AdIP & " F:\BAIES\" & AdIP & ".txt ", 1)

la ventana de DOS se inicia bien pero me aparece el mensaje: 'telnet' is not recognized as an internal or external command...

Cuando lo hago manualmente funciona perfectamente!

Lo extraño también es que cuando hago un dir *.exe en la carpeta System32 desde la ventana generada por la función shell hay menos respuestas que cuando lo hago abriendo cmd manualmente... (no aparece telnet.exe en el primer dir)

¿Sabéis qué pasa?

Un gran gracias de antemano porque estoy atascado!

Configuración: Windows 7 / Firefox 3.5.16

11 respuestas

JuB0 Mensajes publicados 658 Estado Miembro 81
 
Hola julie75
Prueba con "telnet.exe" o poniendo su ruta completa: "C:\Windows\System32\telnet.exe"
--
Google es tu amigo ...
0
julie75
 
Up, up, up.....

¿No hay salvador en la sala ??

Hago simple:

Shell ("telnet.exe")

y tengo un bonito "Archivo no encontrado"... mientras que

Shell ("calc.exe") funciona

en DOS también hago telnet.exe y funciona

Para info estoy bajo Windows 2008 R2

Gracias, gracias.

EDIT: Acabo de ver tu mensaje JuBO (y te lo agradezco por cierto).
y bien, incluso haciendo:
Shell ("C:\Windows\System32\telnet.exe") tengo "Archivo no encontrado"
0
JuB0 Mensajes publicados 658 Estado Miembro 81
 
"Lo extraño también es que cuando hago un dir *.exe en la carpeta System32 desde la ventana generada por la función shell tengo menos respuestas que cuando lo hago abriendo cmd a mano... (no hay telnet.exe en ese primer directorio)".
Parece un problema de permisos...
¿Ejecutas el VBA "como" ?
--
Google es tu amigo ...
0
julie75
 
¿Cómo puedo ver eso, JuBO?
0
JuB0 Mensajes publicados 658 Estado Miembro 81
 
¿eres tú quien abre Excel?
(si no, en el administrador de tareas puedes ver el nombre de usuario de cada proceso)
--
Google es tu amigo ...
0
julie75
 
Haaa pero sí qué tonta/o!

Lo abría con mi cuenta de dominio (que está en el grupo de administrador local), intenté con la cuenta de administrador local pero siempre igual, este archivo "archivo no encontrado" error 53. Pfffffff

Gracias por tu ayuda JuBO
0
JuB0 Mensajes publicados 658 Estado Miembro 81
 
¿Estás seguro de que telnet.exe está ubicado en c:\Windows\System32 ?
¿Y si copias telnet.exe a la raíz de tu disco y modificas tu script en consecuencia ?
--
Google es tu amigo ...
0
julie75
 
Bueno, de acuerdo, te envié una respuesta esta tarde pero no aparece.

Dije entonces que habías dado en el clavo del problema, porque al mover el archivo de System32 a C:\ funciona; debe ser un problema de permisos en la carpeta de Windows.

Esto no me alivia, porque mi archivo de Excel se usará en otras máquinas, y si tengo que pedirles que modifiquen sus permisos no es lo ideal.

¡Buenas noches/día!
0
JuB0 Mensajes publicados 658 Estado Miembro 81
 
Veo 2(3) soluciones:
1. Lo más limpio sería entender y resolver tu problema de permisos de acceso.
2. ¿El VBA no contiene un objeto que tenga las funciones de Telnet (como el objeto Shell para el símbolo del sistema)?
3. Haces un "paquete": envías el archivo telnet.exe junto con tu libro de Excel a otros equipos, y modificas tu script para buscar el archivo "telnet.exe" en la misma carpeta que tu libro.
--
Google es tu amigo ...
0
julie75
 
Hola JuBO!

¡Hice tu solución 3 que en realidad es perfecta!

¡Muchas gracias por tu ayuda!
0
JuB0 Mensajes publicados 658 Estado Miembro 81
 
Es un “compilado”/“hacks”, pero lo esencial es que funcione.
De nada, con gusto.

Julien
--
Google es tu amigo ...
0