Tekstkleur zoeken en vervangen door andere tekstkleur

Status
Niet open voor verdere reacties.

moniek108

Gebruiker
Lid geworden
8 feb 2012
Berichten
70
In Word kan je makkelijk zoeken naar opmaakelement van je tekst, bv. tekstkleur, en dat laten vervangen door een andere tekstkleur.
In PowerPoint lijkt die mogelijkheid niet te bestaan.
In het Zoeken/Vervangen venstertje kan je alleen aanvinken: Identieke hoofdletters en Heel woord.

Ik moet in een grote diashow alle tekst met letterkleur groen R: 60 - G: 145 - B: 61
vervangen door letterkleur blauw R: 16 - G: 67 - B: 171
Handmatig wordt dat een heel tijdrovende klus.

Wie weet hoe ik dat automatisch kan laten verlopen?
Ik ben totaal niet thuis in macro's maken of gebruiken. Ik kan geen VBA schrijven of lezen.
Ik werk in PowerPoint 2010 NL
 
Laatst bewerkt:
(Tekst)kleur leg je vast in het Diamodel. Dat werkt dan vervolgens door in alle dia's die het model gebruiken. In Word is een woord een eigen object, maar in PowerPoint dus niet. Vandaar dat je in Word wel kunt zoeken op kleur, en in PowerPoint niet.
 
Tekstkleur aanpassen in het diamodel werkt niet in deze situatie.
De tekst is overwegend zwart, maar de kernwoorden staan in kleur.
Nu moeten dus al die kernwoorden van kleur veranderen (meer dan 100 dia's met op elke dia een tiental kernwoorden).

Ik heb een sterk vermoeden dat dat dus enkel met een scriptje in VBA zal lukken, maar die taal spreek ik niet :(
Iemand nog andere suggesties?
Je krijgt mijn eeuwige dankbaarheid :)
 
Daar doe ik het voor :).
Code:
Sub Test()
Dim sld As Slide
Dim shp As Shape
Dim tekst As TextRange
Dim zin As Variant
Dim woord As Variant
Dim var As Variant

For Each sld In ActivePresentation.Slides
    For Each shp In sld.Shapes
        On Error Resume Next
        Set tekst = shp.TextFrame.TextRange
        For Each zin In tekst.Sentences
            For Each woord In zin.Words
                ''If Not Woord.Font.Color = 0 Then var = InputBox("", "", Woord.Font.Color)
                [B]If woord.Font.Color.RGB = RGB(0, 127, 255) [/B]Then woord.Font.Color.RGB = RGB(255, 127, 0)
            Next woord
        Next zin
    Next shp
Next sld

End Sub
Let in de code even op de vette regel, want die is nogal rigoreus. Om te testen heb ik een kleur toegekend aan stukken tekst, en vervolgens omgezet naar een RGB kleur. Vervolgens wordt die kleur vervangen door een andere kleur m.b.v. de routine. Om kleuren te vervangen, moet je in het vette stuk dus de juiste RGB code intypen.
 
Lieve Octafish
Die eeuwige dankbaarheid wordt nog verdubbeld als je mij ook nog kan vertellen hoe ik die code kan toepassen in mijn pptx-document.
Ik ben totaal niet thuis in die macro en VBA omgeving.
Ik heb wel al het tabblad Ontwikkelaars geactiveerd, maar veel verder kom ik niet.
Waar moet ik de code die jij schreef in plaatsen?

Moniek
 
Je bent halverwege. Als je op de knop <Macro's> klikt (de knop <Visual Basic> mag ook) dan kun je een macro maken, die je dan wel eerst een naam geeft. Mijn voorbeeldje heet Test, maar je mag 'm elke naam geven die je wilt, zolang er maar geen spaties in zitten. Uiteindelijk kom je dan in het venster <Visual Basic>, en daar kun je mijn code plakken. Als je een macro hebt gemaakt met de naam Test, dan zie je in de code alleen de eerste en de laatste regel staan. Die regels mag je weggooien, want in mijn code zitten die ook al.
Heb je een leeg venster, dan hoef je natuurlijk niks weg te gooien. De code kun je vervolgens uitvoeren door op de knop <Macro's> te klikken en de juiste (want enige) macro te starten!
 
Hallo Octafish
Sorry, ik moet je nog eens lastigvallen.
Tja, met die digibeten niets als last :o

Alles is correct ingesteld, denk ik toch, maar de macro loopt niet.
- macrobeveiliging staat op "Alle macro's inschakelen"
- het bestand is opgeslagen met de extensie .pptm
- de RGB codes zijn correct ingevoerd

Ik heb een bestandje met één dia bijgevoegd als zip-bestand, want .pptm wordt niet aanvaard.Bekijk bijlage Test_groen_naar_blauw.zip
Zie jij waar het hapert?
 
Ik kan zo snel niet zien wat er fout gaat, behalve dat hij alleen het grote tekstvak ziet, en niet het tekstvak met de opsommingen. Dus dat is al een probleem. Het tekstvak dat hij wél ziet, doet-ie dan niet. Dus dat is ook wel weer vreemd. Ik zit nu niet op m'n werk, en daar heb ik een werkend voorbeeldje gemaakt, (waar de code van komt) dus ik kan pas maandag verder stoeien. Althans: het voorbeeldje posten :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan