dikte van de randen aanpassen in PowerPoint

Status
Niet open voor verdere reacties.

gGerretje

Gebruiker
Lid geworden
12 mrt 2008
Berichten
439
Beste helpers,

Ik heb een powerpoint-presentatie gemaakt met daarin foto's, tekstvakken en rechthoeken (gebruikt als omranding van de tekstvakken).
Normaal bekeek ik die op mijn notebook maar nu ook op mijn iMac 27inch.

Gevolg is wel dat de randlijn van afbeeldingen en van de vormen (rechthoeken), meestal ingesteld op lijndikte 0,25 nu bijna niet meer zichtbaar zijn.

Ik wil daarom alle autovormen en alle foto's in de presentatie met lijndikte 0,25 wijzigen in lijndikte 1,5
Alle andere lijndiktes moeten blijven zoals ze zijn.

Volgens mij kan dat met een macro en iets van
Code:
For each sh in shapes
    If sh.Line.Weight = 0.25 then
        sh.Line.Weight = 1.5
    end if
next sh
maar dat geeft een foutmelding over de typen die niet overeenkomen.

Ik weet ook niet precies waar ik de gebruikte codes dan moet plaatsen zodat het voor de hele presentatie werkt.
Kan iemand mij op weg helpen?

De macro hoeft dus alleen te werken op mijn notebook voor het aanpassen van de lijntjes. Daarna sla ik de presentatie op en verplaats ik hem naar de iMAc.

Alvast bedankt voor jullie hulp

Ger
 
Laatst bewerkt:
In Module1
Code:
Public Sub RectangleLineWeight()
    For Each oSlide In ActivePresentation.Slides
        For Each oshape In oSlide.Shapes
            If oshape.AutoShapeType = msoShapeRectangle Then
                oshape.Line.Weight = 1.5
            End If
        Next
    Next
End Sub
 
Hallo Alphamax

Bedankt voor je snelle reactie.

Je hebt me al heel goed op weg geholpen.

Alleen worden nu ook die met lijndikte =3 op 1.5 gezet.
Plus dat ik nog een paar parallellogramvormen heb die aangepast moeten worden.
Ik heb het opgelost met de volgende aanpassing: (dat ze nou in het Engels parallelogram met één l minder schrijven)

Code:
Public Sub RectangleLineWeight()
    For Each oSlide In ActivePresentation.Slides
        For Each oshape In oSlide.Shapes
            If (oshape.AutoShapeType = msoShapeRectangle Or oshape.AutoShapeType = msoShapeParallelogram) Then
                If oshape.Line.Weight = 0.25 Then
                    oshape.Line.Weight = 1.5
                End If
            End If
        Next
    Next
End Sub

Maar heb je misschien nog een kleine aanpassing voor het geval ik nog een paar andere vormen eraan toevoeg?
Zodat ik geen OR hoef te gebruiken voor nog meer vormen.
 
Zoiets?
Code:
Public Sub RectangleLineWeight()
    For Each oSlide In ActivePresentation.Slides
        For Each oshape In oSlide.Shapes
            Select Case oshape.AutoShapeType
                Case msoShapeRectangle, msoShapeParallelogram
                    If oshape.Line.Weight = 0.25 Then oshape.Line.Weight = 1.5
            End Select
        Next
    Next
End Sub
 
Laatst bewerkt:
Hallo Ed,

Zoiets ... ja precies zo.
Nette aanpassing.

Bedankt voor je hulp.

Groeten,
Ger
 
Oeps,

Ik zie nu dat de foto's niet worden meegenomen in de aanpassing van de omlijning.
Welke vorm moet ik nog toevoegen in de Select Case?

(misschien heeft iemand aanvullend nog een msgbox-code om de namen van zo'n vorm te tonen)

Groeten,
Ger
 
Dit om de typen te zien?
Code:
Public Sub RectangleLineWeight()
    For Each oSlide In ActivePresentation.Slides
        For Each oshape In oSlide.Shapes
            [COLOR="#FF0000"]MsgBox oshape.AutoShapeType[/COLOR]
            Select Case oshape.AutoShapeType
                Case msoShapeRectangle, msoShapeParallelogram
                    If oshape.Line.Weight = 0.25 Then oshape.Line.Weight = 1.5
            End Select
        Next
    Next
End Sub
 
Afbeeldingen (powerpoint2007nl, lint invoegen - blok illustraties - knop afbeelding) hebben ook msoShapeRectangle=1.
Is de lijndikte van je afbeelding ook 0.25?
 
Laatst bewerkt:
Beste helpers,

Bedankt voor jullie snelle en bruikbare hulp.
Nog een paar dingen:

@ Edmoor:
Ik gebruik de autovormen om een mooie omkadering van de tekstvakken te maken (niet standaard een randje om het tekstvak).

Ik heb die presentaties vanaf het begin altijd in Powerpoint 2003 gemaakt.
Is dat slim?
Weet ik niet, maar als ik ze open in PP2010 en (na wat aanpassingen) opsla en daarna open in PP203 dan zijn alle autovormen plotseling tekstvakken geworden. Ik kan ze dan daar niet meer aanpassen want dan floepen ze plotseling in een éénregelhoogte.
Kun je natuurlijk de vraag stellen waarom ik niet gewoon in 2010 blijf werken, maar goed. 2003 is voor mijn toepassing gewoon veel simpeler. Ook omdat ik die nog op mijn oude PC kan draaien waar ik mijn gratis PaintShopPro tekenbewerking heb staan.

Om op je hulpcode terug te komen. De afbeeldingen worden daarmee niet aangepast. Bij je eerdere code (zonder Select Case) werden ze wel aangepast. De afbeeldingen moeten dus (in ieder geval in PP2003) een andere vormomschrijving hebben dan msoShapeRectangle.
De msgbox geeft in 2003 alleen 1 of -2 als code. In 2010 krijg ik 1 en 138 als resultaat. Maar in beide gevalen weet ik dan nog niet welke vorm dat is. Ik hoop dat je een verwijzing naar een lijst met die nummerverklaring voor me hebt.

@Alphamax:
Jouw opmerking klopt inderdaad voor PP2010. Niet voor PP2003 (zoals ik hierboven al aangaf).
Wat de dikte betreft gaat het alleen maar om de vormen met dikte 0.25.
Bedoeling is dat ik straks de code een paar keer iets aanpas om achtereenvolgens lijndikte 3 om te zetten naar 4, dan 2,25 naar 3 en zo door zodat alles een beetje in verhouding blijft.

Wat ik nu nog graag wil weten is welke naam een afbeelding heeft in PP2003 of hoe ik daar met vba-code achter kan komen (niet het nummer, maar de naam zodat ik die in de Select Case code kan zetten).

Groeten,
Ger
 
Hallo Aphamax,

Ik ga ze in ieder geval opslaan. Voor het geval dat.
Dank voor je bijdrage.

Groeten,
Ger
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan