Hulp bij zoeken - vervangen macro

Status
Niet open voor verdere reacties.

Renevandervelde

Gebruiker
Lid geworden
4 dec 2008
Berichten
11
Dag allemaal,

Ik zoek jullie hulp bij het maken van een zoeken en vervangen macro.
Bedoeling is dat de macro een OPMAAKPROFIEL met een bepaalde naam zoekt en dit opmaakprofiel vervangt door een ander opmaakprofiel.

Er is in Word (2003) een zoek-vervang venster dat ook de mogelijkheid geeft om op opmaakprofiel te zoeken (en deze eventueel te vervangen). Zie onderstaande graphics.

wordzoekvervang1.png


Wanneer je met behulp van de macro recorder de stappen opneemt, dan eindigt dit in de volgende code:

Code:
 Selection.Find.ClearFormatting
    Selection.Find.Style = ActiveDocument.Styles("Bestek Kop 1")
    Selection.Find.ParagraphFormat.Borders.Shadow = False
    Selection.Find.Replacement.ClearFormatting
    Selection.Find.Replacement.Style = ActiveDocument.Styles("Kop 1")
    Selection.Find.Replacement.ParagraphFormat.Borders.Shadow = False
    With Selection.Find
        .Text = ""
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll

Echter..
Zodra deze code eenmaal gelopen heeft en een TWEEDE macro (uiteraard met een ander zoek-opmaakprofiel en een ander vervang-opmaakprofiel ;) langskomt, dan wordt dat tweede opmaakprofiel niet meer gevonden.

De reden? Word heeft er een hele batterij extra 'te zoeken-dingen' achtergeplaatst, waardoor geen van de profielen meer gevonden wordt.
Zie hier:

wordzoekvervang2.png


Eigenlijk ben ik op zoek naar het juiste commando om tussen de beide macro's in het zoek-vervang scherm als het ware even helemaal te resetten/wissen/legen.

Ik heb al geprobeerd om de volgende code tussen te voegen:

Code:
    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

of zelfs alleen de basis:

Code:
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting

maar dit zorgt er niet voor dat het venster van zoek-vervang weer zo leeg wordt als hier afgebeeld:

wordzoekvervang3.png


Wie weet er raad?

Vriendelijke groeten,

René
 
Je zou de macro eens kunnen proberen met alleen deze regels:

Selection.Find.Style = ActiveDocument.Styles("Bestek Kop 1")
Selection.Find.Replacement.Style = ActiveDocument.Styles("Kop 1")
Selection.Find.Execute Replace:=wdReplaceAll

Michel
 
Perfect

Dat is de oplossing.

Kennelijk neemt de macrorecorder ook allerlei dingen op die NIET bedoeld zijn, maar die toch vastgelegd worden (zoals die omrandingseisen e.d.)

Superantwoord!

René
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan