clave de red

11/03/2009 - 18:51 por Fredy Rojas A. | Informe spam
buenos dias..
tengo la siguiente situacion:
una aplicacion en excel cuando abre ncesita copiar un archivo que esta en
red.. al tratar de conectarse a z:/ sale error .. claro ! porque la conexion
requiere de una contrasena.. la cual en excel no se ha definido ( no se donde
debe definirse), lo que hago entonces es abrir el explorador y conectarme el
disco z:/ ( en el explorador me piede la clave) de ahi vuelvo a ejecutar el
archivo y como la clave ya fue dada en el explorador.. ahi si funciona la
copia del archivo que esta en red...

como puedo evitar este error .. es decir como le doy la clave de red por VBA
este es el codigo que estoy utilizando

sub copiar
ARCHIVOFUENTE = "z:\GEOLOGIA\INYECCIONES\BASE DE DATOS\Base de datos1.mdb"
archivoDESTINO = "C:\Temp\Base de datos1.mdb"

FileCopy ARCHIVOFUENTE, archivoDESTINO
end sub
 

Leer las respuestas

#1 Héctor Miguel
12/03/2009 - 06:00 | Informe spam
hola, Fredy !

una aplicacion en excel cuando abre ncesita copiar un archivo que esta en red.
al tratar de conectarse a z:/ sale error... porque la conexion requiere de una contrasena.
la cual en excel no se ha definido (no se donde debe definirse)
lo que hago... es abrir el explorador y conectarme el disco z:/ (en el explorador me piede la clave)
... vuelvo a ejecutar el archivo y... si funciona la copia del archivo que esta en red...
como puedo evitar este error .. es decir como le doy la clave de red por VBA este es el codigo que estoy utilizando
sub copiar
ARCHIVOFUENTE = "z:\GEOLOGIA\INYECCIONES\BASE DE DATOS\Base de datos1.mdb"
archivoDESTINO = "C:\Temp\Base de datos1.mdb"
FileCopy ARCHIVOFUENTE, archivoDESTINO
end sub



una (posible) alternativa es usando el metodo "sendkeys", que tiene la (des)ventaja de que:
al combinarse con instrucciones "en secuencia" el metodo se ejecutaria solamente:
a) al terminarse la ejecucion de todas las instrucciones en el procedimiento que lo contiene...
b) en el momento en que "salta" algun dialogo que demande la interaccion con el usario

proablemente habria que dar un tiempo "de espera", segun lo que tarde en mostrarse el dialogo que pide la contrasena
y ajustar la secuencia de teclas (p.e.) si la solicitud de contrasena tiene algun boton al que debiera moverse el foco)
(y tampoco es lo mas confiable que se podria usar) -???-

asumiendo que al mostrarse el dialgo puedes "pulsar" simplemente la clave y el {enter} -???-
prueba con la siguiente instruccion ANTES de la instrucion "FileCopy ..." de tu macro:

application.sendkeys "aqui tu clave~"

el signo ~ representa el {enter} del teclado, o puedes cambiar a:
application.sendkeys "aqui tu clave{enter}"

o puedes simular "pulsar" la tecla {tab} y un espacio (p.e. poner el foco en algun boton y "clicarlo" con la barra espaciadora)
application.sendkeys "aqui tu clae{tab} "

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

Preguntas similares