Hallo iedereen,
Sinds vandaag ben ik begonnen met python, ik heb al wat ervaring in macro's schrijven in word. Alleen hoe kan ik zo een macro omzetten naar python?
Hieronder een voorbeeldje om te laten zien waar ik vast loop, het gaat over het vervangen van een stukje tekst in word.
Dit is het vba script in word:
Dat heb ik omgezet naar python, alleen twee regels krijg ik niet werkend:
Als het echt niet mogelijk is om dit met behulp van python uit te voeren zou ik het vba script in word kunnen gebruiken en op onderstaande manier uit voeren met python. Dit heeft alleen niet mijn voorkeur aangezien ik dan veel bestanden moet aanpassen en in de toekomst kan dit problemen opleveren.
Zelf heb ik al verschillende dingetjes geprobeerd en gegoogled maar tot dusver geen succes. Hopelijk kan iemand mij helpen.
Met vriendelijke groeten,
Moustache
Sinds vandaag ben ik begonnen met python, ik heb al wat ervaring in macro's schrijven in word. Alleen hoe kan ik zo een macro omzetten naar python?
Hieronder een voorbeeldje om te laten zien waar ik vast loop, het gaat over het vervangen van een stukje tekst in word.
Dit is het vba script in word:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| Sub TEST() Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "[NAAM]" .Replacement.Text = "principaal_naam" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = True .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll End Sub |
Dat heb ik omgezet naar python, alleen twee regels krijg ik niet werkend:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| doc.Content.Find.Replacement.ClearFormatting doc.Content.Find.Text = "[NAAM]" doc.Content.Find.Replacement.Text = "principaal_naam" doc.Content.Find.Forward = True #TEST Onderstaande regel werkt niet (NameError: name 'wdFindContinue' is not defined) #doc.Content.Find.Wrap = wdFindContinue doc.Content.Find.Format = False doc.Content.Find.MatchCase = True doc.Content.Find.MatchWholeWord = False doc.Content.Find.MatchWildcards = False doc.Content.Find.MatchSoundsLike = False doc.Content.Find.MatchAllWordForms = False #TEST Onderstaande regel werkt niet (De tekst Replace hieronder wordt rood en ik krijg een popup box met de tekst: Invalid syntax) #doc.Content.Find.Execute Replace:=wdReplaceAll |
Als het echt niet mogelijk is om dit met behulp van python uit te voeren zou ik het vba script in word kunnen gebruiken en op onderstaande manier uit voeren met python. Dit heeft alleen niet mijn voorkeur aangezien ik dan veel bestanden moet aanpassen en in de toekomst kan dit problemen opleveren.
code:
1
| doc.Application.Run("TEST") |
Zelf heb ik al verschillende dingetjes geprobeerd en gegoogled maar tot dusver geen succes. Hopelijk kan iemand mij helpen.
Met vriendelijke groeten,
Moustache
[ Voor 0% gewijzigd door Anoniem: 332492 op 23-12-2012 16:23 . Reden: Code tag foutje ]