Chippy4444
Gebruiker
- Lid geworden
- 5 nov 2000
- Berichten
- 98
Wie helpt mij met VBA
Hallo helpers van Nederland.
Ik had het idee om de auto correctie functie in Word te gebruiken als vertaal hulp.
Ik heb dit geprobeerd door handmatig een aantal Nederlandse en Engelse woorden in de auto correctie functie te plaatsen en daarna de taal onder in het scherm in te stellen op Engels (Groot-Brittannië).
Het gevolg hiervan is inderdaad dat wanneer ik ben Nederlands woord wat ik heb ingevoerd in auto correctie automatisch wordt vervangen door het Engelse woord.
Tot zover is het idee geslaagd.
Nu had ik het idee gekregen om in VBA een programma te schrijven wat mij kan helpen om op een eenvoudige manier veel
(Nederlandse/Engelse) woorden toe te voegen aan de auto correctie lijst.
Nu heb ik wat ervaring met een wat oudere programmeertaal (Quick Basic), en een heel klein beetje van visual Basic.
Maar de nieuwe instructies in VBA m.b.t. Word zijn voor mij onbekend.
Ik heb met de macro recorder een aantal handelingen opgenomen die ik na mijn inziens nodig had om in een dergelijk programma te gebruiken.
Maar het programma doet nog niet helemaal wat ik wil, mijn vraag is dan ook of er iemand is die wat meer ervaring heeft met VBA en er voor mij evenaar wil kijken wat ik nu precies fout doe.
Sub Vertaal()
'
'
Dim WD1 As String
Dim WD2 As String
Dim proef As String
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "*"
.Replacement.Text = " "
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
wordenToevoegen
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Sub wordenToevoegen()
Selection.Find.Execute
Selection.MoveRight Unit:=wdWord, Count:=1
Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend
WD1 = Selection.Text
WD1 = Trim(LCase(WD1))
Selection.Find.Execute
Selection.MoveRight Unit:=wdWord, Count:=1
Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend
WD2 = Selection.Text
WD2 = Trim(LCase(WD2))
AutoCorrect.Entries.Add WD1, WD2
With AutoCorrect
.CorrectInitialCaps = True
.CorrectSentenceCaps = False
.CorrectDays = True
.CorrectCapsLock = True
.ReplaceText = True
.ReplaceTextFromSpellingChecker = True
.CorrectKeyboardSetting = False
.DisplayAutoCorrectOptions = True
.CorrectTableCells = True
End With
End Sub
De bedoeling van het programma is om te zoeken naar een * en de twee woorden die rechts van het sterretje staan toe te voegen aan de auto correctie lijst. (* woord1 woord2)....
Op het moment dat hij het sterretje gevonden heeft moet hij het vervangen voor een Spatie, en de twee woorden aan de rechterkant van het sterretje toevoegen aan de auto correctie lijst.
En vervolgens moet hij verder zoeken in het document of dit sterretje nog vaker voorkomt in het document.
Ik wilde het sterretje vervangen voor een spatie om te voorkomen dat de woorden die naast het sterretje staan opnieuw aan de lijst worden toegevoegd wanneer het programma opnieuw gestart wordt, en om te voorkomen dat het zoeken naar het sterretje in een lus terechtkomt.
Is er iemand die het programma voor mij zo kan aanpassen dat het wel werkt.
Volgens mij ben ik al een heel eind op weg.
Bij voorbaat dank...
Hallo helpers van Nederland.
Ik had het idee om de auto correctie functie in Word te gebruiken als vertaal hulp.
Ik heb dit geprobeerd door handmatig een aantal Nederlandse en Engelse woorden in de auto correctie functie te plaatsen en daarna de taal onder in het scherm in te stellen op Engels (Groot-Brittannië).
Het gevolg hiervan is inderdaad dat wanneer ik ben Nederlands woord wat ik heb ingevoerd in auto correctie automatisch wordt vervangen door het Engelse woord.
Tot zover is het idee geslaagd.
Nu had ik het idee gekregen om in VBA een programma te schrijven wat mij kan helpen om op een eenvoudige manier veel
(Nederlandse/Engelse) woorden toe te voegen aan de auto correctie lijst.
Nu heb ik wat ervaring met een wat oudere programmeertaal (Quick Basic), en een heel klein beetje van visual Basic.
Maar de nieuwe instructies in VBA m.b.t. Word zijn voor mij onbekend.
Ik heb met de macro recorder een aantal handelingen opgenomen die ik na mijn inziens nodig had om in een dergelijk programma te gebruiken.
Maar het programma doet nog niet helemaal wat ik wil, mijn vraag is dan ook of er iemand is die wat meer ervaring heeft met VBA en er voor mij evenaar wil kijken wat ik nu precies fout doe.
Sub Vertaal()
'
'
Dim WD1 As String
Dim WD2 As String
Dim proef As String
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "*"
.Replacement.Text = " "
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
wordenToevoegen
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Sub wordenToevoegen()
Selection.Find.Execute
Selection.MoveRight Unit:=wdWord, Count:=1
Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend
WD1 = Selection.Text
WD1 = Trim(LCase(WD1))
Selection.Find.Execute
Selection.MoveRight Unit:=wdWord, Count:=1
Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend
WD2 = Selection.Text
WD2 = Trim(LCase(WD2))
AutoCorrect.Entries.Add WD1, WD2
With AutoCorrect
.CorrectInitialCaps = True
.CorrectSentenceCaps = False
.CorrectDays = True
.CorrectCapsLock = True
.ReplaceText = True
.ReplaceTextFromSpellingChecker = True
.CorrectKeyboardSetting = False
.DisplayAutoCorrectOptions = True
.CorrectTableCells = True
End With
End Sub
De bedoeling van het programma is om te zoeken naar een * en de twee woorden die rechts van het sterretje staan toe te voegen aan de auto correctie lijst. (* woord1 woord2)....
Op het moment dat hij het sterretje gevonden heeft moet hij het vervangen voor een Spatie, en de twee woorden aan de rechterkant van het sterretje toevoegen aan de auto correctie lijst.
En vervolgens moet hij verder zoeken in het document of dit sterretje nog vaker voorkomt in het document.
Ik wilde het sterretje vervangen voor een spatie om te voorkomen dat de woorden die naast het sterretje staan opnieuw aan de lijst worden toegevoegd wanneer het programma opnieuw gestart wordt, en om te voorkomen dat het zoeken naar het sterretje in een lus terechtkomt.
Is er iemand die het programma voor mij zo kan aanpassen dat het wel werkt.
Volgens mij ben ik al een heel eind op weg.
Bij voorbaat dank...
Laatst bewerkt: