Avatar billede Claus Mester
29. januar 2002 - 16:56 Der er 3 kommentarer og
2 løsninger

Kun tal i tekstboks VBA-Word2000

Hej derude!

Jeg har været væk fra VB et stykke tid og nu kan jeg sg.. lige pludselig ikke huske en sk... af det.

Hvordan er det nu lige, at koden ser ud, hvis der kun må indtastes tal i en tekstboks og der må kun indtastes 11 karakterer???

nicolaus
Avatar billede martin_moth Mester
29. januar 2002 - 18:14 #1
For at sikre, at der kun indtastet tal, kan du bruge text-boxens KeyPress-event:

Private Sub txtBox_KeyPress(KeyAscii As Integer)
  Select Case KeyAscii
    Case vbKeyReturn 'Enter-tast
      SendKeys "{tab}" 'Sender tabulatortegn i stedet for
    Case vbKeyBack 'Backspace
    Case 48 To 57 'Tallene 0-9
    Case Else 'Alle andre tastetryk
      KeyAscii = 0 'Sletter det tastede tegn
  End Select
End Sub

For at sikre, at der kun indtastes 11 karakterer i boxen (som pga. ovennævnte procedure kun kan være tal), kan du sætte dens property MaxLength til 11. Dette kan både gøres i runtime (txtBoks.MaxLength=11) eller i design mode.

/Martin
Avatar billede martin_moth Mester
29. januar 2002 - 18:15 #2
Hov - nu så jeg at du skriver VBA word 2000. Mit svar går på VB, men mon ikke det lige passer ind i VBA også - det vil jeg tro!!! - ellers skal der vel kun ændres ganske lidt... /Martin
Avatar billede dimle Nybegynder
29. januar 2002 - 22:29 #3
Så besværligt er det ikke! Sådan istedet:

Text1.MaxLength = 11 i design mode er OK!!!

Metoden ser således ud:

Private Sub Text1_KeyPress(KeyAscii As Integer)
    If Not IsNumeric(Chr(KeyAscii)) Then
        KeyAscii = 0
    End If
End Sub
Avatar billede dimle Nybegynder
29. januar 2002 - 22:33 #4
Hvis du vil kunne slette i textbox også skal metoden se dådan ud i stedet:

Private Sub Text1_KeyPress(KeyAscii As Integer)
    If Not IsNumeric(Chr(KeyAscii)) And Not KeyAscii = 8 Then
        KeyAscii = 0
    End If
End Sub
Avatar billede Claus Mester
30. januar 2002 - 07:00 #5
Tak for hjælpen.

Eftersom koden fra martin_moth passer bedst til mit formål, får du 8 og dimle, du får 7.

nicolaus
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester