Toekennen van tekencombinatie aan cijfertoetsen

  • Onderwerp starter Onderwerp starter han2
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

han2

Gebruiker
Lid geworden
21 dec 2004
Berichten
304
Tja, ik hoop dat de titel een beetje omschrijft wat ik bedoel :
Ik ben bezig met een document, waarbij vóór elk woord tussen haakjes het aantal letters moet komen staan.
Hierbij moet ik dus 3 a 4 tekens intoetsen, bijv. (1) of (11) etc.
Om de handelingen zoveel mogelijk te beperken, vraag ik me af of ( en hoe...) ik door enkel het cijfer in te toetsen, het voor elkaar
kan krijgen dat deze dan vervolgens MET begin-en eindhaakje te zien zijn ?

En nu vraag ik misschien wel héél veel ( maar niet geschoten is altijd mis ) is er misschien een mogelijkheid ( wellicht met VBA ? ) dat het aantal letters tussen haakjes automatisch voor het woord komt te staan als ik het woord selecteer ? ( of aanklik of zo...)
 
Laatst bewerkt:
Ik had de vraag ook op een ander forum gesteld en het is inmiddels opgelost :
In de VBA-editor een nieuwe module aangemaakt : (Invoegen>Module), en hierin de volgende code geplaatst :

Sub ZetLengte()
Dim wd As Range
Dim iStart As Long
Dim strLen As String
Dim rng As Range
Application.ScreenUpdating = False
With Selection
For Each wd In .Words
If Left(wd.Text, 1) Like "[a-zA-Z]" Then
strLen = Len(wd) + 1 * (Right(wd, 1) = " ")
iStart = wd.Start - Len(strLen) - 3
If iStart >= 0 Then
FontProp wd.Start - 1, wd.Start
If ActiveDocument.Range(iStart, iStart + Len(strLen) + 3).Text <> "(" & strLen & ") " Then
wd.InsertBefore "(" & strLen & ") "
End If
Else
wd.InsertBefore "(" & strLen & ") "
FontProp 0, Len(strLen) + 3
End If
End If
Next
End With
Application.ScreenUpdating = True
End Sub
Sub FontProp(iFrom As Long, iTo As Long)
With ActiveDocument.Range(iFrom, iTo).Font
If .Bold Then .Bold = False
If .Italic Then .Italic = False
If .Underline Then .Underline = wdUnderlineNone
If .DoubleStrikeThrough Then .DoubleStrikeThrough = False
If .StrikeThrough Then .StrikeThrough = False
If .ColorIndex <> wdBlue Then .ColorIndex = wdBlue
End With
End Sub

Vervolgens een sneltoets gekoppeld aan deze macro en voila, het werkt perfect ! ( met veel dank aan degene die de oplossing bracht ! )
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan