Voorletters scheiden met punten

Status
Niet open voor verdere reacties.

lunatic95

Gebruiker
Lid geworden
29 aug 2013
Berichten
36
(Hoe) kan ik ervoor zorgen dat in een textbox voor initialen automatisch punten tussen de letters worden gezet? Om een voorbeeld te geven: "MC" wordt "M.C." Misschien is het ook handig als je als gebruiker géén punten kunt typen, zodat je ze nooit dubbel krijgt. Het lijkt dus een beetje op een input mask, maar daar lukt het me niet mee.
 
Je zult de tekstinvoer 'live' moeten afvangen, bijvoorbeeld bij de gebeurtenis <Bij wijzigen>. En dan middels de eigenschap Tekstveld.Text de tekst in een variabele controleren. En aanvullen met een punt.
 
Om je een idee te geven:
Code:
Private Sub voorletters_Change()
Dim sL As String, sP As String
Dim i As Integer
    
    sL = Me.voorletters.Text
    If IsNumeric(Right(sL, 1)) Then
        Me.voorletters.Text = Left(sL, Len(sL) - 1)
        Me.voorletters.SelStart = Len(sL) - 1
        Exit Sub
    End If
    If Not sL = "" Then
        sL = Replace(sL, ".", "")
        For i = 1 To Len(sL)
            sP = sP & UCase(Mid(sL, i, 1) & ".")
        Next i
    End If
    Me.voorletters.Text = sP
    Me.voorletters.SelStart = Len(sP)

End Sub
Deze routine heeft een hele bassale check op de input; alleen cijfers worden uitgebannen. Je kunt ook nog wel iets verzinnen voor andere verboden tekens zoals leestekens. Met een Select Case bijvoorbeeld.
 
Geweldig! Heel erg bedankt voor je inspanning, hier kan ik wel even mee knutselen. :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan