Toon posts:

[Word VB] Ingevoerd telefoonnummer opmaken

Pagina: 1
Acties:
  • 105 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik heb een briefsjabloon gemaakt. Zodra je een nieuw document maakt op basis van dat sjabloon, krijg je een pop-up (user-form) voor je neus, waarin je alvast het een en ander in kan vullen. De gegevens die je invult, worden al op de juiste plaats in de brief gezet.

Nu heb ik in de pop-up ook 2 velden om een telefoonnummer in te voeren. 1 veld voor het netnummer en 1 veld voor het abonneenummer. Nu wil ik dat de telefoonnummers netjes opgemaakt in tekstvakken in het document geplaatst worden. Nu wordt het nummer geplaatst op de manier waarop ik (de gebruiker) het nummer invoer. Maar dat kan mooier. Ik wil dus:

Als ik bij het netnummer 2 cijfers invul (mobiel nummer), dat het abonneenummer zo opgemaakt wordt: (06) xx xx xx xx
Als ik bij het netnummer 3 cijfers invul, dat het abonneenummer zo opgemaakt wordt: (010) xxx xx xx
Als ik bij het netnummer 4 cijfers invul, dat het abonneenummer zo opgemaakt wordt: (0341) xx xx xx

Kan iemand mij een duwtje in de goede richting geven? Ik ben niet zo'n held met VB, maar met wat tips ben ik er tot nu toe altijd nog wel uitgekomen. Maar ik heb nu even geen idee waar ik verder nog kan zoeken.

  • pkouwer
  • Registratie: November 2001
  • Laatst online: 07-10-2025
je zou het bv kunnen doen met
code:
1
2
3
4
5
6
7
if len(nummer)=2 then

elseif len(nummer)=3 then

elseif len(nummer)=4 then

end if

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Je gebruikt dus VBA ;) en waarschijnlijk ben je flink op weg geholpen als je zoekt naar string manipulation :)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • J_Davelaar
  • Registratie: Maart 2001
  • Laatst online: 16-08 20:30
Je geeft zelf al een mooie voorwaarde om dit te doen. Je hebt namelijk 3 verschillende lengtes.

Kijks eens bij If in de handleiding en speel daar eens mee.

Visual Basic:
1
2
3
4
5
6
7
8
9
10
If lengte = 2 Then
  'Maak hier je format voor mobiel nummer

End If

If lengte = 3 Then
  'Maak hier je opmaak ....

End If
....


Oke ik schrijf te langzaam....

[ Voor 8% gewijzigd door J_Davelaar op 08-09-2004 09:19 ]

Was ik maar een punt dan was ik het einde


Verwijderd

Topicstarter
Bedankt voor de snelle tips! Ik denk, dat ik hier wel wat verder mee kom. Ik zal de code hier posten, als ik het werkend heb.

Ik heb inmiddels wat werkend:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
a_tel.Text = Replace(a_tel.Text, " ", "")

If a_netn.TextLength = 2 Then

If a_tel.TextLength > 8 Then
MsgBox "Een telefoonnummer bestaat uit 10 cijfers."
Exit Sub
ElseIf a_tel.TextLength < 8 Then
MsgBox "Een telefoonnummer bestaat uit 10 cijfers."
Exit Sub
End If

a_tel.Text = Format(a_tel.Text, "## ## ## ##")
End If

If a_netn.TextLength = 3 Then

If a_tel.TextLength > 7 Then
MsgBox "Een telefoonnummer bestaat uit 10 cijfers."
Exit Sub
ElseIf a_tel.TextLength < 7 Then
MsgBox "Een telefoonnummer bestaat uit 10 cijfers."
Exit Sub
End If

a_tel.Text = Format(a_tel.Text, "### ## ##")
End If

If a_netn.TextLength = 4 Then

If a_tel.TextLength > 6 Then
MsgBox "Een telefoonnummer bestaat uit 10 cijfers."
Exit Sub
ElseIf a_tel.TextLength < 6 Then
MsgBox "Een telefoonnummer bestaat uit 10 cijfers."
Exit Sub
End If

a_tel.Text = Format(a_tel.Text, "## ## ##")
End If

If a_netn.TextLength < 2 Then
MsgBox "Een netnummer bestaat uit minimaal 2 en maximaal 4 cijfers."
Exit Sub
End If

If a_netn.TextLength > 4 Then
MsgBox "Een netnummer bestaat uit minimaal 2 en maximaal 4 cijfers."
Exit Sub
End If

Dit is dus een deel van de code die wordt uitgevoerd, als de gebruiker op OK klikt na het invullen van wat gegevens in de pop-up.

(Er wordt dus geen rekening gehouden met buitenlandse telefoonnummers. Maar dat is in principe nu zo toegevoegd. Ga ik niet doen, want het is nutteloos voor dit project.)

Edit:
Ik heb een regel toegevoegd aan de code. (De eerste regel is nieuw.) Deze regel zorgt ervoor dat eventueel ingevoerde spaties verwijderd worden (vervangen door niets dus). Anders is de code toch niet helemaal "monkey-proof".

[ Voor 106% gewijzigd door Verwijderd op 10-09-2004 11:24 ]