2009-09-02 10 views
6

Ich versuche, eine Schaltfläche zurück zu erstellen, aber mithilfe von Hyperlinks es einfach nur zur vorherigen Seite und endet in einer Schleife ... z. Wenn ich Folie 1 habe, die Links zu Folie 3 hat, 4 & 5 dann Folie 3 Links zu 6 & 7. Wenn ich derzeit auf Folie 7 und klicken Sie zurück, es bringt mich erfolgreich zurück zu Folie 3, aber dann möchte ich zurückklicken und lande auf Folie 1 und nicht auf Folie 7 (hoffentlich mache ich Sinn!).Verzweigungsfolien in PowerPoint (VBA)

Ich nehme an, die einzige Möglichkeit für mich ist, dies mit VBA zu tun. Kann mir jemand einen Rat geben, wie man am besten einen Zurück-Knopf erstellt? (Ich benutze PowerPoint 2007)

+3

Scripting-Programmierung ist. VBA programmiert. – Smandoli

Antwort

2

Es klingt wie Sie wollen eine "Brotkrumen-Spur" der besuchten Folien, anstelle einer einfachen Schaltfläche zurück. Daher brauchen Sie eine Möglichkeit, die Spur zu bewahren.

Dies könnte mit einem dynamischen Array angesprochen werden. Das neue Durchsuchen würde dem Array Datensätze hinzufügen. Ihre "Next" - und "Previous" -Stellen würden gefunden, wenn Sie das Array nach oben oder unten bewegen. Du wirst einige leichte Logikrätsel haben. Ich hasse es, Sie a generic resource zu verweisen, aber ich bin von Besonderheiten und eine Übersicht kann hilfreich sein.

UPDATE: Ich wollte dies in der Vergangenheit für MS Access, und dachte, ich würde sofort eine Schnipsel-Lösung finden. Aber jetzt gehe ich zu suchen (denke, dass es auch für dich leicht umwandeln wird), und ich finde nichts. Das ist überraschend, weil ich mir vorstellen kann, dass es Spaß machen würde, es zu bauen. Oder ... es ist schwieriger zu bauen als ich es erwarte.

2

Es gibt einen wirklich umständlichen Weg, dies in PPT direkt ohne Programmierung zu tun. Sie benötigen "nach vorne gerichtete Dias" und 2 Sätze "nach hinten gerichtete Dias". Rückwärts sind zwei Arten - Direkt-Zurück und Heim-Zurück. Sie können alle identisch sein, aber die rückwärtigen ausblenden (z. B. anstelle von "Folie 3" benötigen Sie "Folie 3a" und "Folie 3b" und "Folie 3c".). Sie sind so versteckt, dass du sie nicht sehen wirst, wenn du normal weitergehst, aber wenn du dich mit ihnen verbindest, werden sie erscheinen. Ihre Linkliste auf den "a" Folien sollte immer auf die "b" Folien zeigen und Ihre "b" Folien auf die "c" Folien. Ihre Hyperlinks auf "Zurück" auf "a" Folien sollten "vorherige Folie" sein und auf den "c" Folien sollten "letzte Folie angesehen" und auf "h" Folien sollte "erste Folie" sein (verwenden Sie 'Aktion' zu setze dies anstelle von 'Hyperlink').

Es dauert eine Weile zu arbeiten, aber es kann getan werden.

2

Ich hatte heute mit einem ähnlichen Problem zu kämpfen und habe einen kleinen "Breadcrumb" - Generator für Powerpoint gemacht. Es gibt keine Verbindung Feature noch nicht, aber man kann es implementieren, wenn Sie mögen: Github Project

Wesentliche Teile des Codes

Public Sub breadcrumbs(ByVal count As Integer, ByRef titles() As String) 
    Dim cntr As Integer 
    Dim content() As String 
    Dim margin As Integer 
    Dim width As Integer 
    '---------------------------- 

    ' Set Titles 
    content = titles 
    cntr = 0 
    ' Set width 
    width = ((Application.ActivePresentation.PageSetup.SlideWidth - (margin * count * 2) - 20)/count) - 50 

    ' Loop through all slides 
    For Each sld In Application.ActivePresentation.Slides 
     ' generate breadcrumb for each title 
     For Each con In content 
      sld.Shapes.AddShape(1, (50 + (width * cntr)), 15, width, 50).TextFrame.TextRange.Text = con 
      cntr = cntr + 1 
     Next con 
     cntr = 0 

    Next sld 

End Sub 
+1

Während der von Ihnen angegebene Link möglicherweise die Frage beantwortet, sollten Sie die wesentlichen Teile Ihrer Lösung direkt in Ihre Stack Overflow-Frage stellen, falls der Link in Zukunft ungültig wird. – Kmeixner

+0

Meinst du wie Teile des Codes? – Zanidd

+0

Ja, Stack Overflow ist ein Ort, an dem Menschen Hilfe bei ihren Programmierfragen bekommen. In den meisten Fällen sollten Codebeispiele mit einigen Wörtern, die beschreiben, wie das Codebeispiel das Problem löst, in Ihrer Antwort enthalten sein. – Kmeixner

Verwandte Themen