Vraag over powerpoint

Status
Niet open voor verdere reacties.

Stien geeroms

Nieuwe gebruiker
Lid geworden
8 sep 2024
Berichten
3
Ik wil een powerpoint presentatie maken met de volgende code, maar ik krijg telkens een foutmelding ' kan programmacode niet uitvoeren in onderbrekingsmodus'. Zou iemand mij kunnen helpen?
de code:
Code:
Sub MaakLeesAutobiografie()

    ' Maak een nieuwe PowerPoint-applicatie en presentatie aan
    Dim pptApp As Object
    Dim pptPres As Object
    Dim slide As Object
 
    Set pptApp = CreateObject("PowerPoint.Application")
    pptApp.Visible = True
    Set pptPres = pptApp.Presentations.Add
 
    ' Dia 1: Titelpagina
    Set slide = pptPres.Slides.Add(1, ppLayoutTitle)
    slide.Shapes(1).TextFrame.TextRange.Text = "Stien's Leesautobiografie"
    slide.Shapes(2).TextFrame.TextRange.Text = "Welkom bij mijn leesautobiografie"
 
    ' Plaats voor een foto
    slide.Shapes.AddTextbox(Orientation:=msoTextOrientationHorizontal, Left:=300, Top:=200, Width:=200, Height:=150).TextFrame.TextRange.Text = "Voeg hier een foto toe"

    ' Dia 2: Leesverleden (Kleuterschool en Lagere School)
    Set slide = pptPres.Slides.Add(2, ppLayoutText)
    slide.Shapes(1).TextFrame.TextRange.Text = "Mijn Leesverleden"
    slide.Shapes(2).TextFrame.TextRange.Text = "Kleuterschool: " & vbCrLf & _
        "• Roald Dahl" & vbCrLf & _
        "• Gebroeders Grimm" & vbCrLf & _
        "• Het Gouden Dierenboek - J. Peels" & vbCrLf & _
        "• 313 verhalen over de eekhoorn en andere dieren - Toon Tellegen" & vbCrLf & vbCrLf & _
        "Lagere School: " & vbCrLf & _
        "• Tinny - Marcel Marlier" & vbCrLf & _
        "• Fantasia - Elisabetta Dami" & vbCrLf & _
        "• Vos en Haas - Sylvia Vanden Heede" & vbCrLf & _
        "• Roald Dahl"

    ' Dia 3: Leesheden
    Set slide = pptPres.Slides.Add(3, ppLayoutText)
    slide.Shapes(1).TextFrame.TextRange.Text = "Mijn Leesheden"
    slide.Shapes(2).TextFrame.TextRange.Text = "Boeken die ik nu lees: " & vbCrLf & _
        "• De jongen die tien concentratiekampen overleefde - Alan Gratz" & vbCrLf & _
        "• Stiefkind - Selma Noort" & vbCrLf & _
        "• Val voor jou - Tijan"

    ' Dia 4: Leestoekomst
    Set slide = pptPres.Slides.Add(4, ppLayoutText)
    slide.Shapes(1).TextFrame.TextRange.Text = "Mijn Leestoekomst"
    slide.Shapes(2).TextFrame.TextRange.Text = "Boeken die ik nog wil lezen:" & vbCrLf & _
        "• Plaats voor 3 toekomstige boeken"
 
    ' Maak ruimte voor drie toekomstige boeken
    slide.Shapes.AddTextbox(Orientation:=msoTextOrientationHorizontal, Left:=50, Top:=150, Width:=600, Height:=150).TextFrame.TextRange.Text = "Voeg hier informatie toe over toekomstige boeken die je wilt lezen."

    ' Dia 5: Samenvatting
    Set slide = pptPres.Slides.Add(5, ppLayoutText)
    slide.Shapes(1).TextFrame.TextRange.Text = "Samenvatting"
    slide.Shapes(2).TextFrame.TextRange.Text = "Voeg hier je samenvatting toe"
 
    ' Layout verbeteren - Achtergrond en overgangen toepassen
    Dim i As Integer
    For i = 1 To pptPres.Slides.Count
        ' Voeg een achtergrondkleur toe
        pptPres.Slides(i).FollowMasterBackground = msoFalse
        pptPres.Slides(i).Background.Fill.ForeColor.RGB = RGB(230, 230, 255) ' Lichte achtergrondkleur
     
        ' Voeg een overgangseffect toe
        pptPres.Slides(i).SlideShowTransition.EntryEffect = ppEffectFade ' Fade overgang
     
        ' Maak de titels groter en vetgedrukt
        pptPres.Slides(i).Shapes(1).TextFrame.TextRange.Font.Size = 36
        pptPres.Slides(i).Shapes(1).TextFrame.TextRange.Font.Bold = True
     
        ' Pas de tekstlayout aan voor een professionelere look
        pptPres.Slides(i).Shapes(2).TextFrame.TextRange.Font.Size = 20
        pptPres.Slides(i).Shapes(2).TextFrame.TextRange.Font.Color.RGB = RGB(60, 60, 60) ' Donkergrijze tekstkleur
    Next i
 
    ' Layout verbeteren: voeg boeken gerelateerde elementen toe (bijv. boekillustraties)
    ' Voorbeeld: voeg een afbeelding van een boek aan elke slide toe (als decoratie)
    ' imgPath moet een bestaand bestandspad zijn. Je kunt dit veranderen naar een afbeelding op je computer.
    Dim imgPath As String
    imgPath = "C:\Path\to\your\image.jpg" ' Plaats hier het pad naar een afbeelding
    For i = 1 To pptPres.Slides.Count
        pptPres.Slides(i).Shapes.AddPicture(FileName:=imgPath, _
                                            LinkToFile:=msoFalse, SaveWithDocument:=msoTrue, _
                                            Left:=650, Top:=100, Width:=100, Height:=150)
    Next i
 
End Sub
 
Laatst bewerkt door een moderator:
Huiswerkopdracht?
Draai je de macro vanuit PowerPoint, Excel of Word?
 
Een huiswerk opdracht waar de uitkomst al van gegeven wordt? Zo’n school wik ik ook nog wel doen :).
@ TS: zet de volgende keer code tags om je code, dan wordt die een stuk leesbaarder. Dus je begint dan met [ code ] (zonder spaties, die staan er omdat de tekst dan wordt vertaald naar code), dan je code en dan afsluiten met [ /code ]. (Ook weer zonder de spaties).

Verder kun je dacht ik geen dia’s aanmaken met objecten vanuit een draaiende presentatie, mocht je dat proberen. Wat wél zou moeten kunnen is dus vanuit de VBA editor de dia’s maken vanuit een procedure of functie. Daarnaast is het handig als we weten waar, op,welke regel, je de melding krijgt.

Draai je de code vanuit een ander programma zoals Word of Excel, gebruik dan Early Binding en geen Late Binding, wat je nu dus doet. Daarmee wordt het programmeren ook een stuk makkelijker.
 
Huiswerkopdracht?
Draai je de macro vanuit PowerPoint, Excel of Word?
Ja huiswerk, en vanuit Powerpoint, als ik de code heb ingevuld en naar extra ga en dan macro's aanklik en dan op uitvoeren klik dan komt de foutmelding.
 
Dan moet ik deze helaas sluiten. Huiswerkopdrachten werken we niet aan mee.
 
We zijn de beroerdste niet dus hierbij nog een tip van een helper.

"Haar VBA editor staat namelijk al in "onderbrekingsmodus", dus ze is een routine aan het debuggen. Daarom ontstaat de foutmelding die zij krijgt. Als ze even de VBA editor sluit en op beeindigen klikt, dan is e.e.a. als het goed is in orde. Kan ze verder met haar huiswerk."
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan