Bepaalde lettergrootte in Powerpoint op alle dia's aanpassen met VBA

Status
Niet open voor verdere reacties.

gGerretje

Gebruiker
Lid geworden
12 mrt 2008
Berichten
439
Beste Helpers,

Ik wil met één handeling in mijn hele Powerpoint-bestand alle tekstvakken met bijvoorbeeld tekstgrootte 18 aanpassen in tekstgrootte 20.

Met behulp van de suggesties op in mijn eerdere topic geraadpleegd hoopte ik het zelf te kunnen oplossen.
https://www.helpmij.nl/forum/showthread.php/956952-dikte-van-de-randen-aanpassen-in-PowerPoint

Ik kwam tot het volgende:
Code:
Public Sub TekstGrootte()
    For Each oSlide In ActivePresentation.Slides
        For Each oTextBox In oSlide.Shapes
            If oTextBox.Font.Size < 20 Then
               oTextBox.Font.Size = 40
            End If
         
'         Select Case oTextbox.Shape
'             Case msoTextBox
'                 If oTextbox.Font.Size = 18 Then oTextbox.Font.Size = 40
'         End Select
        Next
    Next
End Sub
De select-case is mijn aanpassing van dat eerdere topic maar die gaat fout op de eerste regel.
Ik hoopte met de If ... Then meer succes te hebben maar helaas. Waarschijnlijk eenzelfde soort fout.

Waarschijnlijk is de code heel simpel aan te passen.
Kan iemand mij op weg helpen?

Alvast bedankt voor jullie hulp.

Groetjes,
Ger
 
Waarom pas je niet gewoon de diamodellen aan? Programmeren lijkt mij nergens voor nodig.
 
Het gaat om een bestaande Presentatie.
Nu wil ik lettergrootte 18 in 40 veranderen. Morgen misschien Italic in Bold. Ik noem maar een voorbeeld.
 
Een bestaande presentatie is toch ook gebaseerd op diamodellen? Verandert dus (juist ;)) niets aan mijn antwoord. Ook als je meerdere dingen wilt uitproberen is het diamodel de aangewezen weg. En niet programmeren.
 
Hoi Octafish,

Ik waardeer je voorstellen, maar ik heb me nooit verdiept in diamodellen.
Ik begin met een lege presentatie voor mijn vakantieverslag en gooi er foto's en achtergrondjes in zoals het me uitkomt.
Maar als ik me nu moet gaan verdiepen in het gebruik van diamodellen, ben ik meer tijd kwijt en is straks misschien mijn hele presentatie door onwetendheid naar de vaantjes (afgezien natuurlijk van het feit dat ik toch wel een kopie zou bewaren).
En omdat ik toch al zover ben met mijn code ...
Immers randdiktes van autovormen pas ik al vrij eenvoudig aan.
Een kleine aanpassing en ik kan zelf verder.

Ik hoop dat je mijn uitgangspunt ook begrijpt.

Groetjes,
Ger
 
Ach welnee; er zijn maar een paar diamodellen die je vaak gebruikt. Het is niet meer dan een lege dia met tekstvakken. Je klikt het tekstvak aan, verandert het lettertype en je gaat terug naar de presentatie. En je hele presentatie past zich keurig aan (voor dia’s op dat model). Standaard PowerPoint kennis, die iedereen zou moeten hebben. Veel makkelijker te leren in ieder geval dan programmeren in PP.
 
Waarom als je al een prima antwoord/oplossing gekregen hebt ?
 
Omdat ik net met een diamodel aan het proberen ben geweest.
Maak ik net een sjabloon aan met dezelfde achtergrond als mijn PowerPoint-presentatie en tekstvakken met dezelfde lettertypen als in mijn presentatie.
Sla ik het sjabloon op.
Open ik mijn presentatie, klik op het net gemaakte sjabloon en dan zijn al mijn tekstvakken al meteen met opsommingstekens en niet meer gecentreerd.
Dan begin ik al tien stappen verder weg dan ik was.
 
Heb je de nieuwe sjabloon wel aan de oude presentatie gekoppeld? En heb je in de sjabloon wel alles aangepast? Want als je geen bullets wilt, of andere, en je verandert dat niet maar alleen het lettertype, dan krijg je de oorspronkelijke sjabloon elementen uiteraard ook in je presentatie terug.
 
Hallo Octafish,

Goede vraag. Ik denk dat ik hem goed gekoppeld heb
Maar wat moet er allemaal in het sjabloon staan?
En wat moet ik allemaal aanpassen?
Ik zag nergens bullets staan in het sjabloon.
Plotseling is ook de titel in mijn origineel een letter met schaduw.

Ik waardeer je hulp absoluut, alleen kan ik er met mijn gebrek aan ervaring met het werken met sjablonen op dit moment helaas weinig mee.

Dat was de reden om mijn vraag in het VBA-forum te zetten.
Maar kennelijk zit ik daarmee fout.

Ik zal te zijner tijd eens gaan stoeien met die sjablonen.
Nogmaals bedankt voor je hulp.

Groetjes,
Ger
 
Code:
Public Sub TekstGrootte()
    For Each oSlide In ActivePresentation.Slides
        For Each oShape In oSlide.Shapes
            With oShape
                If .Type = msoTextBox Then
                    With .TextFrame.TextRange
                        If .Font.Size = 20 Then
                            .Font.Size = 18
                        End If
                    End With
                End If
            End With
        Next
    Next
End Sub
 
Laatst bewerkt:
Hoi Alphamax,

Bedankt voor je aanpassing.
De code zit erin maar het werk helaas nog niet.

Bijgaand het voorbeeldbestand.

Groetjes,
Ger
 

Bijlagen

  • Test_TekstGrootte.zip
    1,7 MB · Weergaven: 12
…alleen kan ik er met mijn gebrek aan ervaring met het werken met sjablonen op dit moment helaas weinig mee.
Dat is een denkfout. Alles wat je doet in een Office pakket is gebaseerd op sjablonen. Of dat nu Word is (normal.dot), Excel of PowerPoint. Dus zodra je een presentatie begint te maken, werk je met een sjabloon. Of in PP termen: diamodellen. En die kun je dus aanpassen. Een sjabloon is dan een verzameling diamodellen (Titelblad, één tekstvak, twee tekstvakken, tekstvak + afbeelding etc.). En je kunt dus de stijl van een presentatie met één klik veranderen door een ander sjabloon te koppelen.

En als je een sjabloon wilt aanpassen, dan pas je dus die diamodellen aan. Als jouw voorbeeldje representatief is, dan kan ik dus ook bij de door jou gebruikte modellen. En kan ik er even naar kijken :).
 
Niet elke box met een tekst is een tekstbox.
Code:
Public Sub TekstGrootte()
    For Each oSlide In ActivePresentation.Slides
        For Each oShape In oSlide.Shapes
            With oShape
                If [COLOR=#ff0000].Type = msoAutoShape[/COLOR] Or .Type = msoTextBox Then
                    With .TextFrame.TextRange
                        If .Font.Size = 20 Then
                            .Font.Size = 18
                        End If
                    End With
                End If
            End With
        Next
    Next
End Sub
 
Hallo Alphamax,

Dank voor je hulp.

Ik zie nu ook dat het (allemaal zelfs) autovormen zijn.
Hoewel ik ze ooit erin heb gezet als tekstvak.
Kennelijk is er een keer een tussendoor geglipt en is net die steeds gekopieerd.

@ Octafish.
Dit voorbeeld is slechts een klein stukje van mijn werkelijke presentatie (een vakantieverslag).
Ik zal er een maken waar alles zo'n beetje inzit wat ik in mijn verslag heb zitten en dan plaats ik hem hier als voorbeeld.

Zie mijn eerdere opmerkingen zeker niet als het weigeren van hulp of het eigenwijs willen doorgaan op de oude voet.
Maar op dit moment was ik snel geholpen met die code.
Voor mijn volgende verslag ga ik me verdiepen in een goed werkend sjabloon.
Heel fijn dat je me daarmee wilt helpen.
Ik beschouw het nog altijd als een voorrecht dat zoveel mensen ons belangeloos willen helpen met het oplossen van onze computervragen

Groetjes,
Ger
 
@ Octafish

Bijgaand mijn presentatie.


Het ziet er wat chaotisch uit maar het zijn dan ook altijd een paar honderd dia's van vergelijkbare opmaak.

Groetjes,
Ger
 

Bijlagen

  • TestVoorSjabloon.zip
    1,8 MB · Weergaven: 10
Ik vrees dat ik niets voor je kan beginnen, en dat komt doordat je de diamodellen hebt 'misbruikt'. Je hebt namelijk voor alle dia's het model 'Titeldia' gebruikt. Zonder er overigens ook maar één als titel te gebruiken; wat je hebt gedaan is: je hebt de model tekstvakken verwijdert, en er vervolgens een niet-gebonden tekstvak op gezet. En dat vervolgens naar smaak opgemaakt. Dan ben je gelijk klaar als het gaat om aanpassingen, want in de sjaak gelogeerd, want dan moet je ofwel alles handmatig doen, ofwel alles met een macro. En dan zijn we dus weer terug bij jouw vraag :).

Ik heb, om te laten zien wat ik bedoel, twee dia's gekopieerd en de tekst in de correcte tekstvakken gezet. Ogenschijnlijk zie je dan geen verschil, maar als je naar het tabblad <Ontwerpen> gaat en een ander sjabloon kiest, zul je zien dat de eerste twee dia's keurig aangepast worden, en jouw dia's niet. Idem voor als je het Model van de twee dia's (een titelmodel en een tekstmodel) aanpast; als je bijvoorbeeld een andere kleur kiest voor de teksten, dan is je dia gelijk aangepast. En zo zou je een presentatie dus eigenlijk moeten maken.

Jouw presentatie is overigens wel héél erg gebouwd met grafische geintjes; ik weet niet of het werken met een model dan wel handig is. Aan de andere kant: of je nu 20 losse tekstvakken (die je niet kunt aanpassen) moet invoegen, of 20 model tekstvakken kopieert en plakt (met Ctrl + slepen bijvoorbeeld) maakt denk ik niet zo gek veel uit. Wél voor de nabewerking :).
 

Bijlagen

  • TestVoorSjabloon.zip
    365,9 KB · Weergaven: 17
Hallo Octafish,

Ik weet ook hoe dat komt.
Ik ben jaren geleden begonnen met het maken van een reisverslag in PowerPoint.
En ik ben begonnen met de Titeldia.
Meteen een aantal keer gekopieerd.
En vervolgens tekstvakken aangemaakt door een titel of ondertitel te kopiëren en de lettergrootte aan te passen.
Dit laatste dus niet wetende dat titel en ondertitel geen tekstvakken zijn.

Vandaar ook dat de eerste code van Alphamax niet werkte, zoals hij constateerde omdat het allemaal autovormen waren ipv tekstvakken.

Maar zoals jij aangeeft is het goed om met die wetenschap in het achterhoofd mijn volgende presentaties wél op een goed sjabloon te baseren.
Ik heb alvast een vereenvoudigde basis gemaakt.
Mijn presentatie bevat dus:
  • titeldia's (zoals dia 1 en 3, beide verschillend. De opmaak van dia 3 komt vaker voor, die van dia 1 slechts 1 keer),
  • tekstdia's (zoals dia 4, met tekst alleen in tekstvakken. Ik begrijp dat dat beter is dan een autovorm).
  • dia's met tekstvak en eventueelafbeelding

Verder de paar afwijkingen:
  • dia's zoals 2 met een andere achtergrond (mogen absoluut niet mee veranderen met een model)
  • dia's 2, 5 en 6 (een paar dia's met allerlei andere objecten met afwijkende tekstopmaak en mogen ook niet mee veranderen met een diamodel)
  • dia's met alleen afbeeldingen (of autovorm met afbeelding als opvulling)

Als ik het goed begrijp is die achtergrond (van dia 2) niet onderhevig aan veranderingen van het diamodel.
Voor de afwijkende tekstopmaak (2,5 en 6) kan ik tekst in autovormen gebruiken (want verandert dan niet mee met diamodel en pas ik eventueel handmatig aan).
Alleen voor de titeldia's en tekstdia's (ook die met afbeelding erbij) heb ik een model nodig (of zijn dat 2 modellen?).
Dia 1 hoeft niet noodzakelijk in een model. Die kan ik ook handmatig aanpassen. Die 3 en al zijn gelijken wel.

Klopt het een beetje zoals ik het verwoord heb?
Wellicht dat je dan nog even kunt aangeven hoe ik dat model aanmaak?
Gewoon dit bestand opslaan als sjabloon is waarschijnlijk te simpel gedacht.

Groetjes,
Ger
 

Bijlagen

  • NieuweTestVoorSjabloon.zip
    1,5 MB · Weergaven: 10
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan