Hoe voorkom ik exceldocument geminimaliseerd

Status
Niet open voor verdere reacties.

Tijger81

Gebruiker
Lid geworden
2 jan 2010
Berichten
397
Ik heb nu dit, maar dan kan ik alleen een sheet niet minimaliseren. Ik probeer iets te maken zodat heel excel niet kan minimaliseren
en het liefste dat ik constant full screen heb in excel.

Code:
Private Sub Workbook_WindowResize(ByVal Wn As Window)
Wn.WindowState = xlMaximized
End Sub

Hoe krijg ik dat voor elkaar?

En weet iemand toevallig hoe je een document automatisch op de 5 minuten laat opslaan?
Deze werkt namelijk niet:

Code:
Sub SaveIt()
ThisWorkbook.Save
Application.OnTime Now + TimeSerial(0, 5, 0), "SaveIt"
End Sub
 
Laatst bewerkt door een moderator:
Het save gedeelte heb ik al zelf opgelost.

Maar de code waarbij het scherm op full screen blijft staan kan ik niet vinden
Ik wil blokkeren dat het excelbestand geminimaliseerd wordt.
Wel heb ik voor elkaar dat het excel bestand opent in full screen, maar excel houdt dit niet vast.
Wie kan mij hierbij helpen???
 
Het is niet ongevaarlijk om op systeemniveau te liggen klooien in Windows, maar als je het wil en op eigen risico.
Code:
Option Explicit

Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As Long, ByVal _
    bRevert As Long) As Long
Declare Function DeleteMenu Lib "user32" (ByVal hMenu As Long, ByVal _
    nPosition As Long, ByVal wFlags As Long) As Long
Declare Function FindWindowA Lib "user32" (ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long

Const MF_BYPOSITION As Long = &H400
'Const mlNUM_SYS_MENU_ITEMS As Long = 7 'min, max & close
Const mlNUM_SYS_MENU_ITEMS As Long = 6 'min & max

Sub DisableActiveDialogMenuControls()
    Dim DialogCaption As String
    Dim lHandle As Long, lcount As Long
    On Error Resume Next
    DialogCaption = Application.Caption
    DialogCaption = DialogCaption & vbNullChar
    lHandle = FindWindowA(vbNullString, DialogCaption)
    If lHandle <> 0 Then
        For lcount = 1 To mlNUM_SYS_MENU_ITEMS
            DeleteMenu GetSystemMenu(lHandle, False), 0, MF_BYPOSITION
        Next lcount
    End If
End Sub

Sub EnableActiveDialogMenuControls()
    Dim lHandle As Long
    Dim DialogCaption As String
    On Error Resume Next
    DialogCaption = Application.Caption
    DialogCaption = DialogCaption & vbNullChar
    lHandle = FindWindowA(vbNullString, DialogCaption)
    GetSystemMenu lHandle, True
End Sub
 
Hoi,
Dat vind ik wel gevaarlijk dan.
Dank voor je antwoord iig , maar de code hieronder werkt goed voor de rode afsluitknop. Dan moet ik een password opgeven, is dat ook niet mogelijk voor de minimaliserings knop?

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean) Dim WachtWoord WachtWoord = InputBox("Voer het wachtwoord in." & Chr(13) & "Let op dit is hoofdletter gevoelig!" & Chr(13) & Chr(13) & Chr(13), "Voer wachtwoord in.") If StrPtr(WachtWoord) = False Then GoTo sluiten If WachtWoord = "sluiten" Then GoTo einde Else MsgBox "fout wachtwoord probeer het opnieuw" End If sluiten: If closemode <> 1 Then Cancel = 1 einde: End Sub


Als ik jouw code zou toepassen.
- Zullen dan van andere programma's ook de minimaliseringsfunctions verdwijnen/geblokkeerd worden?
- En is het ook weer terug te draaien?

Is het ook niet mogelijk om een tijdsperiode in te bouwen dat bijvoorbeeld het excel document om de 5 min opnieuw gemaximaliseerd wordt, of indien het geminimaliseerd is door iemand?
Ik heb bijvoorbeeld nu een code dat het document na 5 minuten automatisch opslaat.
Ter info: Het document wordt gebruikt om gegevens te verwerken van printopdrachten van studenten. Ze moeten eerst het formulier invullen en mogen dan printen. Ik heb een invoerknop gemaakt waarbij hun gegevens geplaatst wordt op een andere sheet. Deze sheet is beveiligd en alleen voor mij toegankelijk. Alleen ik wil voorkome dat studenten het formulier wegklikken, met als gevolg dat de volgende student het formulier niet ziet en niks invult.
 
Laatst bewerkt door een moderator:
Hoi Rudy,

Ik heb je code net geprobeerd, maar krijg foutmelding met dat de code niet 64 bits is of zoiets.
Het bovenste gedeelte van je code komt in rode letters te staan.
Wat kan ik hieraan doen?
 
Google eens op PtrSafe.
 
Hoi Rudi,

Ik heb net gegoogled :confused:(wat ik al de hele week doe om een oplossing te vinden)en zie dat het te maken heeft met welke versie excel je hebt en welk versie Windows systeem.
Verder kom ik niet (snap ik niet). Ik begin vast te lopen met mijn excelbestand en denk dat het gewoon bijna onmogelijk is om via Vba in excel
het document gemaximaliseerd te houden. Het is jammer, want had voor de rest een mooi bestandje gemaakt, met automatisch saven, close button met ww geblokkeerd,
automatisch fullscreen openen, enz..
Ik heb al heel het register van Windows doorlopen en zie daar verschillende opties staan maar niet de goede. Ook Groups Policy helpt niet mee. Ik heb al tal van manieren (codes) getest.
Ik heb zelfs geprobeerd om excel groter dan het beeldscherm eigenlijk toelaat te openen, waardoor de bovenste knoppen verdwijnen.
Maar loop helemaal vast:(
 
Ik heb het opgelost!

Code:
Private Sub Workbook_Open() 
Application.WindowState = xlMaximized Application.Run "ThisWorkbook.Maximus" 
End Sub
Code:
 Sub Maximus() Application.WindowState = xlMaximized 
Application.OnTime EarliestTime:=Now() + TimeValue("00:00:05"), _ 
Procedure:="ThisWorkbook.Maximus", Schedule:=True 
End Sub
 
Laatst bewerkt door een moderator:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan