Outlook - Macro - zoek ^p en vervang door ^l

Status
Niet open voor verdere reacties.

hmwul

Gebruiker
Lid geworden
15 dec 2012
Berichten
430
Ik maak (veel) te weinig gebruik van VBA om dit aan te leren.
Daarnaast, in Word en Excel kan je een 'scratch' macro maken en de code gebruiken in VBA (binnen Excel of Word).
Helaas dat geldt niet voor Outlook.

Ik zoek een macro die het volgende doet:
1) in een Outlook bericht alle tekst selecteert
2) daarna zoek: ^p en vervang door: ^l (kleine letter "L")
3) bij voorkeur de 'melding' van de resultaten onderdrukt

m.a.w. zoiets als dit:

SnagIt-05062021 055419.png


Dank!
 
Dat kan bijvoorbeeld zo, er van uitgaande dat je een bericht actief hebt:
Code:
Sub ZoekEnVervang()
    Dim Bericht As MailItem
    
    Set Bericht = Application.ActiveExplorer.Selection.Item(1)
    Bericht.Body = Replace(Bericht.Body, "^p", "^l")
End Sub
Misschien dat je dan dit ook kan gebruiken:
https://www.howto-outlook.com/howto/macrobutton.htm
 
Laatst bewerkt:
Hartelijk dank!

Onderdstaand resultaat van de macro
Bekijk bijlage 357917

Het ziet ernaar uit dat de ^p aan het einde van de regels niet vervangen wordt.

CTRL-H zoek en vervang, zie bijgaande video

Ik hoop dat deze video te bekijken is, ik heb 'm als unlisted op youtube gezet.

[video=youtube_share;Uil7X0TTDoc]https://youtu.be/Uil7X0TTDoc[/video]

Hier gebeurt dat wel, maar ik verlies ook de nodige 'formatting' (style), t.w. 1,5 regel en ruimte tussen de paragrafen is verdwenen.
 
Die macro doet wat je vroeg, het vervangen van een tekst string door een andere.
Ik denk dat je niet ^p (twee tekens) wilt vervangen maar het teken CTRL-P (1 teken)
Zoek dus uit om welke tekens dat precies gaat en gebruik die in de macro.

Tevens kan je in Word aangeven dat je die opmaak tekens niet wilt zien.
Dat geldt dan ook in Outlook omdat die het Word object gebruikt voor het tonen en opstellen van berichten.
Dan hoef je helemaal niks te vervangen.
 
Laatst bewerkt:
Het gaat echt de volgende actie
ctrl-h
zoek ^p
vervang door ^l
replace all

Het stelt niet veel voor, ik weet het. Deze handeling doe ik tot nu altijd handmatig.

Heb even de onderstaande macro 'opgenomen' in Word en het werkt perfect

Code:
Sub ZoekVervangRegelEinden()
'
' ZoekVervangRegelEinden Macro
'
'
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "^p"
        .Replacement.Text = "^l"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
End Sub

Maja ...
nu in Outlook, that's different cook.

In Word worden de ruimten tussen de paragrafen zelfs behouden, hetgeen niet lukt in Outlook.
 
Laatst bewerkt:
De macro voor Outlook die ik plaatste doet het zoals ik al zei prima.
Het is dan in Outlook anders dan in Word.
Mail mij anders eens zo'n bericht.
 
Laatst bewerkt:
Dank voor alles.

Beslist niet lelijk bedoeld, begrijp me niet verkeerd, maar ik stel voor dit maar te laten rusten.
Het is maar een slechts dingetje en waarschijnlijk ietwat gecompliceerder dan ik in 1e instantie dacht.
Het is de tijd/moeite niet waard.

Nogmaals dank voor de genomen moeite!
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan