[VBA] PowerPoint 2007 - Open presentatie & Sluit originele

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • dj_vibri
  • Registratie: Oktober 2007
  • Laatst online: 08:37

dj_vibri

int(e^x) = f(u)^n

Topicstarter
Allen,

voor een presentatie aanstaande Donderdag heb ik twee powerpoint presentatie's gemaakt.
De bedoeling is dat ik op het einde van presentatie 1 een soort timer laat zien met de tekst: "Switching presentation in X seconds' waarbij X het aantal seconden is.

Na deze seconden dient de tweede presentatie in slideshow automatisch te openen.

In ieder geval hier de code die ik reeds heb

Module:
code:
1
2
3
4
5
6
7
8
9
10
11
Option Explicit
 
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Dim Handler As New claHandler
 
Sub ShowWithEvents()
 
    Set Handler.SlideShow = Application
    ActivePresentation.SlideShowSettings.Run
    
End Sub


Class module: claHandler
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Option Explicit
Public WithEvents SlideShow As Application



Public Sub SlideShow_SlideShowEnd(ByVal Pres As Presentation)
    Set SlideShow = Nothing
End Sub
 
Public Sub SlideShow_SlideShowNextSlide(ByVal Wn As SlideShowWindow)
    Dim oPPT As PowerPoint.Application
    Dim SecondPres As Presentation

    If Wn.View.Slide.SlideIndex = 16 Then
       Dim TMinus As Integer
        TMinus = 1
        
        Do While (TMinus >= 0)
            Sleep 1000
                If Wn.Presentation.Slides(16).Shapes(1).HasTextFrame Then
                    Wn.Presentation.Slides(16).Shapes(1).TextFrame.TextRange.Text = "switching presentation in " & vbNewLine & TMinus & vbNewLine & "seconds"
                End If
            TMinus = TMinus - 1
            DoEvents
        Loop
        
    Set oPPT = New PowerPoint.Application
    Presentations.Open ("TeamMeeting_Virtualization.ppsx")


    End If
End Sub


Dit werkt tot nu toe zoals het hoort... alleen.... Zoals je ziet controleer ik op 'slide nummer'. Wanneer ik bij slide 16 aankom zal hij bovenstaande code uitvoeren en de presentatie 'Teammeeting_Virtualization.ppsx' openen.

Dit doet hij perfect, maar het probleem situeert zich alsnog: Wanneer ik op Slide 16 van deze tweede presentatie kom opent hij OPNIEUW deze presentatie. Dus ipv de Macro per presentatie te houden, gebruikt Powerpoint dit blijkbaar voor alle instantie's.

Nu heb ik al verscheidene pogingen gewaagd om de eerste presentatie te laten sluiten en wanneer ik bv.

Presentations(1).Close

erbij plaatst, sluit hij inderdaad mijn eerste presentatie af maar plaats hij een 'lege powerpoint scherm' boven mijn tweede slideshow....

Iemand enig idee?

Ook een macro automatisch laten runnen bij het opstarten van de presentatie is blijkbaar niet mogelijk in Powerpoint 2007 (tenzei met Add-in maar dit is voor mij niet mogelijk).

Last night I lay in bed looking up at the stars in the sky and I thought to myself, where the heck is the ceiling.


Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

offtopic:
Waarom niet 1 grote presentatie?


Je kunt bijv checken of application.activepresentation.fullname de juiste is.

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Acties:
  • 0 Henk 'm!

  • dj_vibri
  • Registratie: Oktober 2007
  • Laatst online: 08:37

dj_vibri

int(e^x) = f(u)^n

Topicstarter
F_J_K schreef op donderdag 08 oktober 2009 @ 22:04:
offtopic:
Waarom niet 1 grote presentatie?


Je kunt bijv checken of application.activepresentation.fullname de juiste is.
offtopic:
Omdat het kan? :)


Het gaat er vooral over dat de eerste presentatie die ik moet doen een korte samenvatting van een bijgewoond event zal zijn, waar de tweede presentatie vooral een demo met bijhorende uitleg zal zijn. Nadien worden deze twee presentatie's op het intranet geplaatst en is het 'overzichtelijker' om twee aparte presentatie's te heben met een duidelijke naamgeving...

Gisterenavond had ik een oplossing gevonden maar ben het vergeten door te mailen naar mezelf waardoor ik er op dit moment niet aankan :(

In ieder geval was het iets met het openen presentatie2 --> minimaliseren van presentatie 1, deze vervolgens sluiten... Het enige wat ik dan nog heb is dat als presentatie 2 afgelopen is ik automatisch uitkom op hetzelfde 'grijze' lege powerpoint vlak, maar hier kunnen we mee leven :)

Post deze avond de correct code (of in ieder geval, voor mij correcte code :) ) hier wel even.

Last night I lay in bed looking up at the stars in the sky and I thought to myself, where the heck is the ceiling.