Macro que abre archivo

15/12/2005 - 01:48 por Marta | Informe spam
Buenas noches,

Tengo una macro que en uno de sus pasos abre un archivo de Excel. Hasta aquí
bien. Ocurre que este archivo tiene una contraseña de apertura. Querría que
en lugar de pedirme que la introduzca cada vez que se llega a ese paso, que
en la propia macro se guarde el paso de introducir esa contraseña, de modo
que se ejecute del tirón sin depender de que yo tenga que estar escribiéndola
a mano.

¿Cómo lo pondría?

Muchas gracias!

Marta

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
15/12/2005 - 02:59 | Informe spam
hola, Marta !

... macro que en uno de sus pasos abre un archivo... que... tiene una contrase#a de apertura
... que en lugar de pedirme que la introduzca... en la propia macro se guarde el paso de introducir esa contrase#a [...]



-> puedes seguir la sintaxis del metodo open que es...
.Open(FileName, UpdateLinks, ReadOnly, Format, _
Password, WriteResPassword, IgnoreReadOnlyRecommended, _
Origin, Delimiter, Editable, Notify, Converter, AddToMRU)

-> y 'encajar' la contrase#a en el argumento correspondiente [p.e.]
Workbooks.Open FileName:="Aqui [la ruta y] el nombre del archivo.xls", _
Password:="Aqui la contrase#a de apertura", _
WriteResPassword:="Aqui la contrase#a para modificaciones"


si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#2 Marta
15/12/2005 - 10:14 | Informe spam
Perfecto, funciona.

Y por rizar el rizo: cómo se haría para que en un paso de la macro, esta
cerrara un archivo excel insertando una contraseña de apertura antes de
cerrarlo.

Muchas gracias de nuevo!

Marta

"Héctor Miguel" escribió:

hola, Marta !

> ... macro que en uno de sus pasos abre un archivo... que... tiene una contrase#a de apertura
> ... que en lugar de pedirme que la introduzca... en la propia macro se guarde el paso de introducir esa contrase#a [...]

-> puedes seguir la sintaxis del metodo open que es...
.Open(FileName, UpdateLinks, ReadOnly, Format, _
Password, WriteResPassword, IgnoreReadOnlyRecommended, _
Origin, Delimiter, Editable, Notify, Converter, AddToMRU)

-> y 'encajar' la contrase#a en el argumento correspondiente [p.e.]
Workbooks.Open FileName:="Aqui [la ruta y] el nombre del archivo.xls", _
Password:="Aqui la contrase#a de apertura", _
WriteResPassword:="Aqui la contrase#a para modificaciones"


si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.



Respuesta Responder a este mensaje
#3 Marta
15/12/2005 - 10:18 | Informe spam
Perfecto, funciona.

Y por rizar el rizo: cómo se haría para que en un paso de la macro, esta
cerrara un archivo excel insertando una contraseña de apertura antes de
cerrarlo.

Muchas gracias de nuevo!

Marta
Respuesta Responder a este mensaje
#4 Marta
15/12/2005 - 10:18 | Informe spam
Perfecto, funciona.

Y por rizar el rizo: cómo se haría para que en un paso de la macro, esta
cerrara un archivo excel insertando una contraseña de apertura antes de
cerrarlo.

Muchas gracias de nuevo!

Marta
Respuesta Responder a este mensaje
#5 Héctor Miguel
16/12/2005 - 01:21 | Informe spam
hola, Marta !

... por rizar el rizo: como se haria para que en un paso de la macro
... cerrara un archivo... insertando una contrase#a de apertura antes de cerrarlo.



dentro de la sintaxis del metodo 'SaveAs' [que es muy similar a la del metodo 'Open']...
puedes tambien especificar los argumentos 'Password:=' y... 'WriteResPassword:='
aunque... [creo que] la situacion que planteas pudiera tener [al menos] 2 'variantes'...

1) que se trate de un archivo 'nuevo' [que no ha sido guardado con anterioridad]: un ejemplo:
[... otras lineas de tu codigo ...]
ActiveWorkbook SaveAs FileName:="Aqui [la ruta y] el nombre del archivo.xls", _
Password:="Aqui la contrase#a de apertura", _
WriteResPassword:="Aqui la contrase#a para modificaciones"
[... otras lineas de tu codigo ...]

2) que se trate de un archivo 'abierto', es decir... que ya 'tiene nombre' [y ubicacion] -?-
donde pudiera haber tambien 2 [posibles] variantes...
a) si ya tiene sus claves [apertura/escritura] -> simplemente lo cierras guardando [o no] los cambios ;)
b) si no tiene claves [o necesitas 'cambiarle' las que tenga asignadas]... enconces...
[... otras lineas de tu codigo ...]
Application.DisplayAlerts = False
ActiveWorkbook SaveAs Password:="Aqui la contrase#a de apertura", _
WriteResPassword:="Aqui la contrase#a para modificaciones"
Application.DisplayAlerts = True
[... otras lineas de tu codigo ...]

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida