proteccion de archivo

13/06/2006 - 08:21 por david | Informe spam
Hola, tengo un archivo en excel con informacion importante, y me gustaría
compartir parte de el, pero dependiendo de quien lo abra que se muestren
ciertas columnas y otras no. Hay alguna manera de hacerlo?
 

Leer las respuestas

#1 Héctor Miguel
13/06/2006 - 08:44 | Informe spam
hola, david !

... tengo un archivo en excel con informacion importante, y me gustaria compartir parte de el
... dependiendo de quien lo abra que se muestren ciertas columnas y otras no. Hay alguna manera de hacerlo?



podrias defnir vistas 'personalizadas' segun 'de quien se trate', pero en tanto comentas otros 'detalles', como:
- la forma en que piensas 'averiguar' quien 'lo abre' y como 'decidira' el libro lo que podra 'ver' [o no] :))

1) cuando proteges hojas/libros [cuya finalidad es que el usuario NO modifique lo que 'no debe'] :))
las caracteristicas como vistas personalizadas, autfiltros, agrupaciones/esquemas, y algunas mas...
[obviamente] quedan 'fuera del alcance' del usuario y solo por macros se pueden habilitar/permitir/... ;)

2) es 'preferible' [re]proteger hojas/libros EN el evento de apertura del libro '_open' y 'controlarlas' por codigo
[ademas] 'estas' son de las caracteristicas que excel NO 'recuerda' cuando cierras y re/abres un libro...
o... 'se pierden' al andar des/re/protegiendo hojas/libros :-(

3) la 'habilitacion' de [o permiso para usar] autofiltros, esquemas desde el evento '_open' de unlibro...
SOLO permite SU USO... NO su 'creacion' [a menos que la creacion la realices por codigo] ;)
si quieres autorizar [p.e.] el uso de autofiltros, puedes 'generarlo' en el mismo evento :D

-> el siguiente ejemplo, asume que se trata -solo- de la 'hoja1' y que tiene DOS vistas personalizadas
puedes adaptar/completar/corregir/... o comentar los detalles 'faltantes ;)

sobra mencionar que las macros DEBERAN ser habilitadas [por los usuarios] y el proyecto de macros -> protegido
ademas de que existen mas de dos 'formas' [hablando de 'protecciones'], asi que...
si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

en el modulo de codigo del libro [ThisWorkbook] ==Private Sub Workbook_Open()
Protege_hoja1
End Sub

en un modulo de codigo 'normal' ==Sub Alternar_vistas()
With Worksheets("Hoja1")
.Unprotect "123"
Select Case InputBox("Indica el numero de vista")
Case 1: .Parent.CustomViews("Completa").Show
Case Else: .Parent.CustomViews("Fuente").Show
End Select
End With
Protege_hoja1
End Sub
Sub Protege_hoja1()
With Worksheets("Hoja1")
.Protect Password:="123", UserInterfaceOnly:=True
If Not .AutoFilterMode Then .Range("a1").AutoFilter
.EnableAutoFilter = True
.EnableOutlining = True
End With
End Sub

Preguntas similares