Mantener pantalla completa

Alguien que me pueda ayudar en lo siguiente:
Tengo un proyecto que lo presento como pantalla completa, escondiendo todas las barras de herramientas, incluyendo la barra de menú la coloco en la parte inferior para que aparente todo oculto, pero si un usuario minimiza y posteriormente maximiza muestra la barra de menú y tendría que seleccionar nuevamente ver - pantalla completa para no mostrarla
La pregunta es la siguiente: ¿Hay una manera de que me oculte por completo las barras aun minimizando y maximizando? Y de ser posible que me bloque la barra de menú para que ningún usuario tenga acceso a la misma, esto para darle un mejor diseño al proyecto sin barras

1 Respuesta

Respuesta
1
Este código VB puede servirte :
Sub PantallaCompleta()
    If Application.DisplayFullScreen = False Then
        Application.DisplayFullScreen = True
        ActiveWorkbook.Protect Structure:=True, Windows:=True
        Application.CommandBars("Worksheet Menu Bar").Enabled = False
    Else
        Application.DisplayFullScreen = False
        ActiveWorkbook.Unprotect
        Application.CommandBars("Worksheet Menu Bar").Enabled = True
    End If
End Sub
Coloca este código en un Módulo de Visual Basic. ¿Cómo?
1. En una Hoja Excel presiona Alt-F11 para ingresar al Editor de Visual Basic
2. En el menú de Opciones del Editor de Visual Basic, selecciona la opción Insertar y luego módulo. Aparecerá un módulo en blanco.
3. Copia la función de arriba en el módulo, desde "Sub PantallaCompleta()" hasta "End Sub"
4. Cierra el Editor de Visual Basic.
Para activarlo Alt-F8 - Selecciona "PantallaCompleta" - Ejecutar
Gracias por tu respuesta, es muy buena pero no es precisamente lo que requiero, si me puedes pasar tu correo y te envío un ejemplo en imagen para explicarme mejor
El mio es [email protected]
Saludos
Hola buen día, nuevamente molestándote para saber si ya tendrás alguna respuesta a mi pregunta
Saludos !
Lamentablemente no encontré una solución efectiva a tu problema.
Lo que te puedo ofrecer son estas alternativas:
Alternativa 1. Ocultar la barra de tareas de windows
Copia estas rutina en un modulo.
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Sub OcultarBarra()
  Dim StartWindow As Long
    StartWindow = FindWindow("Shell_TrayWnd", vbNullString)
    If MsgBox("¿Ocultar barra?", vbInformation + vbYesNo) = vbYes Then
        ShowWindow StartWindow, 0&
    Else
        ShowWindow StartWindow, 1&
    End If
End Sub
Alternativa 2. Un temporizador que detecta si Pantalla Completa es Off entonces la cambia a On.
Copia estas rutina en un modulo. Lo activas con FullSreenOn y lo desactivas con FullScrennOff (2 veces)
Dim bState As Boolean
Dim sStart As Single
Sub FullScreenON()
    On Error Resume Next
    sStart = True
    bState = True
    Do While bState
        sStart = Timer
        Do While (bState And Timer < sStart + 1)
            DoEvents
        Loop
        If Application.DisplayFullScreen = False Then
            With Application
                .DisplayFullScreen = True
                .CommandBars("Worksheet Menu Bar").Enabled = False
                .DisplayFormulaBar = False
                .DisplayStatusBar = False
            End With
            With ActiveWindow
                .DisplayWorkbookTabs = False
                .DisplayHeadings = False
                .DisplayHorizontalScrollBar = False
                .DisplayVerticalScrollBar = False
            End With
        End If
    Loop
End Sub
Sub FullScreenOFF()
    sStart = False
    bState = False
    With Application
        .DisplayFullScreen = False
        .CommandBars("Worksheet Menu Bar").Enabled = True
        .DisplayFormulaBar = True
        .DisplayStatusBar = True
    End With
    With ActiveWindow
        .DisplayWorkbookTabs = True
        .DisplayHeadings = True
        .DisplayHorizontalScrollBar = True
        .DisplayVerticalScrollBar = True
    End With
End Sub
El inconveniente de esta rutina es que vas a tener que colocar en cada UserForm de tu proyecto las siguientes lineas, para evitar un conflicto :
Private Sub UserForm_Initialize()
bState = True
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
bState = False
End Sub
Muchas gracias Hugo ambas me sirvieron aunque la alternativa 2 es la que exactamente quería, ya la puse a prueba y funciona muy bien
Saludos y nuevamente, GRACIAS!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas