Volledige versie bekijken : VBA (Word) zoeken en vervangen



deblues
23 March 2018, 20:51
Hallo,

Ik ben een methode aan het zoeken om lege alinea's met een lijn boven (van de linkermarge tot de rechtermarge) te vervangen door een lege alinea zonder lijn, of om de alinea met bovenliggende lijn te vewijderen.
Aangezien ik bitter weinig afweet van VBA, en er met te zoeken op het web en te proberen niet geraak, hoop ik hier een eenvoudige oplossing te vinden.
Ik heb al iets gevonden dat werkte in een testdocument(je) (zonder filtering op blanco alinea's), maar als ik het effectief toepas in een document van de gebruikelijke omvang (+200 blz.) duurt het zeer lang.
Kan iemand me helpen ?

Hieronder hetgeen ik in elkaar 'geknutseld' heb.
----------------------------------------------------------------
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "^p"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Do While Selection.Find.Execute
If Selection.Style.Borders(wdBorderTop).LineStyle = wdLineStyleSingle Then
Selection.Style.Borders(wdBorderTop).LineStyle = wdLineStyleNone
End If
Loop
---------------------------------------------------------------------------------------------

J.W.
23 March 2018, 21:47
Probeer dit eens: Open uw doc, ga naar tabblad start, selecteer heel het document (ctrA), zet de cursor net boven de lijn, in het lint ziet u nu ergens een klein rechthoekje met een horizontale en een vertikale lijn en ernaast een pijltje. Klik op dat pijltje en klik in de lijst nu op "geen rand". Nu zou de lijn weg moeten zijn.

deblues
24 March 2018, 23:13
Probeer dit eens: Open uw doc, ga naar tabblad start, selecteer heel het document (ctrA), zet de cursor net boven de lijn, in het lint ziet u nu ergens een klein rechthoekje met een horizontale en een vertikale lijn en ernaast een pijltje. Klik op dat pijltje en klik in de lijst nu op "geen rand". Nu zou de lijn weg moeten zijn.

Dit zal waarschijnlijk niet lukken.

Als ik eerst alles selecteer, en vervolgens de cursor net boven de lijn plaats, dan is niet alles meer geselecteerd.
Als ik de cursor niet meer verplaats, blijft alles geselecteerd, maar dan zullen in de tabellen ook de bovenste lijnen verwijderd worden. (Sorry dat ik de tabellen niet ter sprake gebracht heb in m'n vraag..)

(Hopelijk heb ik je goed begrepen; dat je de knop bedoelt die "Randen" heeft als titel bij de info die je krijgt wanneer je de aanwijzer er even boven houdt.)

J.W.
25 March 2018, 11:59
https://support.office.com/nl-nl/article/horizontale-lijnen-of-regels-invoegen-of-verwijderen-9bf172f6-5908-4791-9bb9-2c952197b1a9

deblues
26 March 2018, 09:07
Dat is inderdaad de knop die ik dacht dat je bedoelde. Ik heb je dus goed begrepen.