Excel - desproteger libros excel masivamente?

   
Vista:

desproteger libros excel masivamente?

Publicado por FEDERICO (1 intervención) el 07/02/2014 00:07:47
buenas, estoy en un problema y necesito desproteger libros excel de manera masiva.

El escenario es el siguiente, cuento con unas 3000 planillas xls protegidas por contraseña, la contraseña la tengo, pero necesito desproteger todas las planillas y como imaginaran no puedo entrar una a una y poner desproteger libro e introducir la contraseña (3000 veces)

alguien me podria ayudar?? no se si habra algun software que haga esto o algo que pueda programar, porfaaa necesito ayudaa!

Desde ya muchisimas gracias!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JuanC

desproteger libros excel masivamente?

Publicado por JuanC juanc2942@gmail.com (1054 intervenciones) el 07/02/2014 00:15:16
no aclarás qué es lo que está protegido: la apertura del libro? las hojas/contenido? el VBAProject?

sea cual fuere el caso contactame x email y veo si te puedo programar algo... (ya hice cosas similares)

Saludos, desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JuanC

desproteger libros excel masivamente?

Publicado por JuanC juanc2942@gmail.com (1054 intervenciones) el 07/02/2014 15:45:13
he aquí una pequeña macro que creo sirve para lo que necesitás...
(el archivo que contenga esta macro deberá estar ubicado en la misma carpeta que el resto de los archivos .xls)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Sub test()
Dim wbk As Excel.Workbook, ws As Excel.Worksheet
Dim sPath$, sName$, sXL$
 
Application.ScreenUpdating = False
 
sPath = ActiveWorkbook.Path
sName = ActiveWorkbook.Name
 
sXL = VBA.Dir(sPath & "\*.xls")
 
Do While sXL <> ""
   If sXL <> sName Then
      Set wbk = Workbooks.Open(Filename:=sPath & "\" & sXL)
      For Each ws In wbk.Sheets
          ws.Unprotect "password"
      Next
      wbk.Save
      wbk.Close
   End If
   sXL = Dir
Loop
 
Application.ScreenUpdating = True
Set wbk = Nothing
Set ws = Nothing
End Sub

Saludos, desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar