Ga naar inhoud

controle van tekstinvoer bij excel


anoniem

Aanbevolen berichten

via een textbox in excel vraag ik de gebruiker om een sleutel. soort beveiliging dus. als die sleutel fout is sluit het bestand nu. ik wil het zo maken dat de gebruiker dan opnieuw de sleutel kan intikken in die textbox maar het lukt me niet. onderstaande is dat deel van de code wie kan mij verder helpen? Private Sub cmd1_enter() Password = "test" controle = TextBox1.Text If controle <> Password Then Windows("bestand.xls").Close savechanges:=False Else frm1.Hide End If frm1.Hide Worksheets("opgave").Visible = True Worksheets("opgave").Activate End Sub
Link naar reactie
Je kan de controle in een loop gooien. Zet er een teller in, waardoor je kunt bepalen hoe vaak iemand een code mag invoeren. [code:1:29f3935144] Private Sub cmd1_enter() Dim Password As String Dim Controle As String Static Teller As Integer Password = "test" controle = TextBox1.Text If controle <> Password And Teller < 4 Then Teller = Teller + 1 MsgBox "Onjuiste invoer" TextBox1.Text = "" Exit Sub ElseIf controle <> Password And Teller = 4 Then Windows("bestand.xls").Close savechanges:=False Else frm1.Hide Worksheets("opgave").Visible = True Worksheets("opgave").Activate End If End Sub [/code:1:29f3935144] De "Static Teller As Integer" definieert een statische variabele. De waarde hiervan wordt bewaard en kan bewerkt worden zolang het formulier in het geheugen blijft staan. Ik heb de code niet getest, dus dat moet je zelf even doen :wink:
Link naar reactie
Je kan shift indrukken tijdens het openen van de sheet en dan worden macro's omzeild, waarna je handmatig sheets kan unhiden. Niet echt een goeie beveiliging dus. Jullie gebruiken nu frm1.Hide om een form te verbergen, maar die blijft dan wel geladen, terwijl je hem na invoeren van de juiste code niet meer nodig hebt. Je gooit hem helemaal uit het geheugen met: Unload frm1
Link naar reactie
Openen/Wijzigen-wachtwoord is al wat beter. Om die te omzeilen heb je extra software nodig (om password te kraken). Zit bij Opslaan als... bovenin het scherm in een uitklapmenuutje, helemaal rechts (heet bij mij Tools - General options). Nog wat beter is de ntfs-beveiliging van Windows (bestand - eigenschappen - beveiliging, op userniveau) met als voordeel dat je gebruikers niet een extra password nodig hebben, maar afhankelijk van hun windows-login toegang krijgen. Die optie valt natuurlijk af als het bestand gedistribueerd moet worden.
Link naar reactie
Paulus, de mogelijkheden die jij geeft zijn bekend bij mij. Maar wat doe je met een bestand dat opent via een macro zoals ik er heb? Ik dacht als je de control break routine inbouwt ( Application.EnableCancelKey = xlDisabled) je ook de SHIFT methode onderdrukt. Dus niet. moet ik nu constateren dat je excel bestanden die openen met een macro/vba code eerst moet beveiligen via bestandbeveiliging van windows? eigenlijk wel krom,he? Is er geen andere manier om de SHIFT methode de disable status te geven?
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...