10. januar 2005 - 12:32
Der er
1 kommentar
Default dato i tekstboks i userform i Word
Hvordan indsætter jeg en standard-dato i en tekstboks i en userform hørende til en Word-template? Brugeren skal kunne rette denne dato til en anden dato.
Hvordan sikrer jeg, at kun datoer skrevet (af brugeren) i korrekt format (dd.mm.yyyy) kan accepteres i denne tekstboks?
På forhånd tusind tak for hjælpen!
11. januar 2005 - 13:21
#1
Hvad er en "standard dato"?
Hvis du vil indsætte en default værdi i textboxen, kan du i userformens _Load event skrive
Text1.Text = "16.02.2003" 'eller hvad der nu skal stå.
Det næste spørgsmål er noget sværere.
en løsning kunne være, at erstatte den ene textbox af 3 textboxe (txtDD, txtMM, txtYYYY), og sætte maxlength = 2 (eller 4 for yyyy). Desuden kan du med keypress tjekke, at der KUN tastes tal. Samtidig kan du også tjekke tjekke at der kun tastes max 12 ind i txtMM og max 31 ind i txtDD
Desuden kan du sikre, at programmet først går videre når der er mindst 1 tal i de to første text-boxe, og præces 4 i den sidste textbox.
Og hvis du vil, kan du også tjekke om datoen er valid, men så skal du første regne skudår ud - en dato som 29.02.2004 findes jo kun hvert fjerde år, og datoen 31.04.2005 findes slet ikke
Alternativt, hvis du bruger EN textbox, tjekke hver gang der tastes et tegn, m syntaksen er overholdt. Besværligt.
Eller du kan lade brugeren taste hvad han/hun vil, og først når han/hun går videre (ved at trykke OK eller hvad der nu skal trykkes), ser du om datoen er OK. Det er bare besværligt for brugeren, at fejlen ikke rettes med det samme.
Så overvej niveauet - er det f.eks. OK, at brugeren kan taste 71.53.1009 ?