Abrir una hoja de excel que tenga contraseña

Hola
Necesito desde un VB en excel dar una orden para abrir una hoja de calculo existente con una información que deseo jalar para los formularios,,, pero esta información es clasificada y necesita estar protegida por contraseña... La pregunta es como hago para dejar este archivo protegido con contraseña y cuando el formulario lo tenga que abrir por código le pueda poner que lo abra- escriba contraseña - tome la información y cierre la hoja
Les agradezco mucho ... Toda su colaboración

1 Respuesta

Respuesta
1
Pues una forma:
Sheets("Mihoja").Select
ActiveSheet. UnProtect "Clave"
... código...
ActiveSheet. Protect "Clave"
Abraham
Este es mi código del text box encargado de abrir el documento de excel e introducir la contraseña de apertura... pero de igual manera cuando lo abro me sigue pidiendo la contraseña... que pena me puedes colaborar con eso... mil gracias
Private Sub TextBox37_AfterUpdate()
Command_modificar.Enabled = True
Command_eliminar.Enabled = True 'habilita en caso de estar desabilitados por alguna orden anterior.
Workbooks.Open ThisWorkbook.Path & "\" & "CLIENTES.xls"
Workbooks("CLIENTES.xls").Sheets("Hoja1").Activate
ActiveSheet.Unprotect "ronandres"
Sheets("Hoja1").Select 'abrimos y selecionamos la hoja del libro.
ActiveSheet.Unprotect "ronandres"
filalibre = Range("A2").End(xlDown).Offset(1, 0).Row 'la variable filalibre guarda el nro. de la primer celda vacía.
dato = TextBox37
rango = "A2:A" & filalibre
Set midato = ActiveSheet.Range(rango).Find(dato, LookIn:=xlValues, LookAt:=xlWhole)
If Not (midato) Is Nothing Then
ubica = midato.Address(False, False)
TextBox38.Value = Range(ubica).Offset(0, 1).Value
TextBox39.Value = Range(ubica).Offset(0, 2).Value
TextBox40.Value = Range(ubica).Offset(0, 4).Value
TextBox41.Value = Range(ubica).Offset(0, 3).Value
Command_agregar.Enabled = False 'lo desabilitamos por que se supone que ya se encontro y no queremos dobles registros
Else
Command_modificar.Enabled = False 'lo desabilitamos por que no hay registros por modificar
Command_eliminar.Enabled = False 'lo desabilitamos por que no hay registros por eliminar
Command_agregar.Enabled = True 'lo desabilitamos por que hay registros por agregar
TextBox38 = ""
TextBox39 = ""
TextBox40 = ""
TextBox41 = "" 'limpiamos los datos anteriores de registros
End If
Set midato = Nothing
ActiveSheet.Protect "ronandres"
Workbooks("CLIENTES.xls").Save
Workbooks("CLIENTES.xls").Close
End Sub
Ahhh... OJO, no es lo mismo la contraña de una hoja (relacionada a la protección de la hoja), que la contraseña de apertura del archivo:
Workbooks.Open ThisWorkbook.Path & "\" & "CLIENTES.xls", UpdateLinks:=False, Password:="tuclave"
Abraham

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas