Código de Acceso al menu principal

Revise el código y tengo varias preguntas;

Cuando ingreso como Administrador se activa el menu principal con todo los acceso y además las hojas de excel todas visibles.

Si ingreso como Usuario1 se activa el menu principal con sus accesos y además solo debe mostrarme la hoja 8 como solo lectura y la Hoja4 (Principal)

Si ingreso como Usuario2 se activa solo Consulta de Fotos y la hojas deben estar desactivadas menos la hoja4(principal)...

Sub Botones(disponible)
'Por.Dante Amor
For Each c In Controls
If TypeName(c) = "CommandButton" Then    a que se refiere este codigo
c.Enabled = disponible
End If
Next

Consulta el  boton  cmd_parami  lo debo seguir utilizando o ya no?

Esto de aqui me puede explicar.. Disculpe la ignoracía

Sub Botones(disponible)

'Por.Dante Amor
For Each c In Controls
If TypeName(c) = "CommandButton" Then
c.Enabled = disponible
End If
Next

1 Respuesta

Respuesta
1

El botón para ocultar y mostrar hojas se activa cuando entras al menú principal

Private Sub UserForm_Initialize()
'Por.Dante Amor
    Call Botones(False)
    '
    Set b = Hoja3.Columns("E").Find("X", lookat:=xlWhole)
    If Not b Is Nothing Then
        acceso = Hoja3.Cells(b.Row, "D")
        If acceso <> "Todo" Then
            comandos = Split(acceso, ",")
            For i = LBound(comandos) To UBound(comandos)
                For Each c In Controls
                    If TypeName(c) = "CommandButton" Then
                        nombre = c.Caption
                        If Trim(comandos(i)) = Trim(c.Caption) Then
                            c.Enabled = True
                            Exit For
                        End If
                    End If
                Next
            Next
        Else
            Hoja4.cmd_parami.Enabled = True
            Call Botones(True)
        End If
    End If
End Sub

Este código

Sub Botones(disponible)
'Por.Dante Amor
    For Each c In Controls
        If TypeName(c) = "CommandButton" Then
            c.Enabled = disponible
        End If
    Next
End Sub

Lo puse como un procedimiento, ya que lo ocupo 2 veces, cuando inicia el formulario apago todos los botones con esto: Call Botones(False)

La macro revisar todos los controles que tienes en tu formulario, si es del tipo CommandButton, entonces lo apago, porque la variable disponible es igual a False.

Si el usuario es el administrador, entonces activo todos los botones con esto: Call Botones(True)

Le estoy indicando que todo lo ponga como enable = True

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas