Zufallsfolie in PowerPoint? [letzte Frage dazu]

  • Hallo Minestarler,


    ich habe eine kleine Frage an Euch. Ich möchte gerne in PowerPoint (2007 oder 2010) eine Art Zufallsgenerator einbauen, welcher direkt nach dem Starten der Präsentation durch den Anwender entscheidet, ob Folie 1 oder Folie 2 angezeigt wird. Dabei soll die Wahrscheinlichkeit, dass Folie 2 angezeigt wird, bei 10 % liegen.
    Ich weiß, dass man mithilfe der Entwicklertools in PowerPoint (die man umständlich in den Optionen "freischalten" muss) mit Visual Basic programmieren kann. Allerdings kann ich nicht programmieren und ich weiß auch nicht, ob mein Vorhaben wirklich funktioniert. :ugly:
    Leider habe ich im Internet nicht wirklich Hilfe gefunden und weiß daher nicht mehr weiter. Falls sich jemand damit auskennt würde ich mich freuen, eine Antwort zu bekommen.


    Liebe Grüße von 4kroma ^^

  • Was hast du bitte vor? :ugly:


    Steht doch da dick und fett:


    Zitat

    Ich möchte gerne in PowerPoint (2007 oder 2010) eine Art Zufallsgenerator einbauen, welcher direkt nach dem Starten der Präsentation durch den Anwender entscheidet, ob Folie 1 oder Folie 2 angezeigt wird.


    Zur Frage:
    Ich kann dir da leider auch nicht weiterhelfen, aber es gibt hier im Forum bestimmt ein paar Leute die VB können.

  • 4kroma, da hast du wohl nicht richtig gesucht. Man muss zwar wirklich VB dafür bemühen aber es gibt bereits ähnliche Fragen im Netz.
    Let me google that for you
    In den ersten 5 Treffern gibts gleich passende Hinweise wie man eine Zufallsauswahl bewerkstelligen kann.

    Ich bin Second-Hand Vegetarier: Kuh frisst Gras, ich esse Kuh!
    ---
    Marcus: "Pick, Pick, Pick, Drop! Pick, Pick, Pick, Drop! Pick, Pick, Pick, Drop! Pick, Pick, Pick, Pick, Pick, Pick, Walk!"

  • 4kroma, da hast du wohl nicht richtig gesucht. Man muss zwar wirklich VB dafür bemühen aber es gibt bereits ähnliche Fragen im Netz.
    Let me google that for you
    In den ersten 5 Treffern gibts gleich passende Hinweise wie man eine Zufallsauswahl bewerkstelligen kann.

    Danke für die Antwort!
    Ich habe im Gegensatz zu Dir nicht englische Begriffe zum Googlen benutzt.
    Was ich bisher gelesen habe, funktioniert - allerdings nur mit einem Button. Außerdem habe ich mehrere Folien als nur zwei, und der Zufallsgenerator soll nur zwischen der ersten und der zweiten Folie auswählen.
    Ich denke mir da noch mal etwas aus und suche weiter ^^

  • Danke für die Antwort!
    Ich habe im Gegensatz zu Dir nicht englische Begriffe zum Googlen benutzt.
    Was ich bisher gelesen habe, funktioniert - allerdings nur mit einem Button. Außerdem habe ich mehrere Folien als nur zwei, und der Zufallsgenerator soll nur zwischen der ersten und der zweiten Folie auswählen.
    Ich denke mir da noch mal etwas aus und suche weiter ^^


    Ich versuche mal zu helfen. Grundlage war der obere Code hier. Das einfach etwas abändern und schon ist man am Ziel und kann es anpassen..

    Zitat


    Sub zufall()
    Dim seite As Integer
    seite = Int(Rnd * 2) + 1
    ActivePresentation.SlideShowWindow.View.GotoSlide seite
    End Sub


    Das Beispiel hier leitet dich zufällig auf Seite 1 oder 2 weiter. Beginne deine Präsentation einfach mit einer eigenen Folie, wo nur der "Startbutton" drauf ist (kannst ja auch onMouseOver als Aktion wählen..) und verändere den Code oben an einer einzigen Stelle zu:


    Zitat

    seite = Int(Rnd * 2) + 2


    Dann wird beim Klick auf den Button immer entweder Folie 2 oder 3 gezeigt...


    EDIT:
    Ich zitiere mal eine deutsche Seite zum Thema "Rnd" in VB..

    Zitat

    Wie funktioniert's? "Rnd" (die Zufallsfunktion) gibt stets eine Zahl zwischen 0 und 1 zurück. Damit sie im gewünschten Bereich liegt, müssen wir zum Mindestwert (min) das maiximale Delta (= max - min) addieren. Da unsere Zufallszahl ganzzahlig sein soll, wandeln wir sie mit "Int" um. die Int-Funktion hat jedoch einen kleinen Haken: Sie schneidet einfach alles ab, was hinter dem Komma ist. Wir müssen daher zu unserem Delta noch 1 addieren. Klingt zu kompliziert? Probiert damit ein bißchen in einem kleinen Progrämmchen herum!


    Im Klartext steht also hier:


    seite = Int(Rnd * 2) + 2


    ist GLEICH
    seite = "Kommazahl zwischen 0 und 1" mal 2 plus 2, und das Ganze bitte ohne Kommastellen wiedergeben

  • gemo unser programier gott
    einmal coder immer coder :uglybet:
    (ich weis das das jetzt nicht soo schwierig war aber wenn man es einmal kann tut man sich einfach leichter auch bei anderen programiersprachen)

    Aus der Summe und Anordnung meiner Rechtschreibfehler ergibt sich die Formel zur Herstellung von Gold.


    Nehmt euch in acht vor den Hirnflöhen.
    Die krabbeln euch sonst durch die Ohren ins Gehirn und das juckt dann immer so und bekanntlich kann man sich am Hirn nicht kratzen.

  • Vielen, vielen Dank, GeMo! Es funktioniert jetzt genau so, wie ich es wollte! :)


  • Und wie kommt die 10%-Chance auf Folie 2 zustande? :hmm: Zur Zeit sieht das nach einer 50/50-Chance aus.


    Das ist in dem Beispiel nicht vorhanden. Dazu muss man nur ne Abfrage einfügen...


    Pseudocode:

    Zitat

    wenn seite == 2 dann:
    - nochmal zufallszahl berechnen (als Kommazahl)
    - ist die Zufallszahl >= 0.9, dann setze seite = 2, ansonsten setze seite = 1

  • Hätte noch einmal eine weitere Frage dazu: ist es irgendwie möglich, dass der Generator ohne Mausklick bzw. Mouseover gestartet wird?


    Außerdem habe ich den Eindruck, dass wenn von Folie 1 zufällig Folie 2 oder 3 ausgewählt werden soll, Folie 3 öfters angezeigt wird, ohne dass ich den letzten Code von GeMo eingegeben habe (den ich nicht verstanden habe :ugly: ). Kann aber auch sein, dass ich mich irre.

  • Mit Powerpoint kannst du normalerweise einen Timer einstellen in dem die Bilder gewechselt werden. Diashow mässig.

    Das Makro soll nach dem Wechsel sofort starten. Im Netz habe ich etwas mit Klassen und weiteren Modulen gefunden, was sehr gut funktioniert. Das wird dann als PowerPoint-Add-In (.ppam) gespeichert und in der richtigen PowerPoint-Präsentation geladen. Denke, dass das Problem bis hier gelöst ist :D

  • Also, es läuft bereits ganz gut und ich bin sehr zufrieden! ^^
    Hier noch eine letzte Frage dazu:
    Auf Folie 3 ist ein Timer eingestellt, der nach 16 Sekunden zu Folie 4 wechselt. Von dort soll nun erneut der Zufallsgenerator automatisch zwischen Folie 5 u. 6 auswählen. Ich habe es selbst hinbekommen, dass der Zufallsgenerator automatisch startet. Dazu habe "ich" ein Add-In geschrieben.


    Über eine Antwort würde ich mich freuen :) Und dann bin ich auch ruhig :D

  • Also, es läuft bereits ganz gut und ich bin sehr zufrieden! ^^
    Hier noch eine letzte Frage dazu:
    Auf Folie 3 ist ein Timer eingestellt, der nach 16 Sekunden zu Folie 4 wechselt. Von dort soll nun erneut der Zufallsgenerator automatisch zwischen Folie 5 u. 6 auswählen. Ich habe es selbst hinbekommen, dass der Zufallsgenerator automatisch startet. Dazu habe "ich" ein Add-In geschrieben.


    Über eine Antwort würde ich mich freuen :) Und dann bin ich auch ruhig :D


    Also kann sein das ich Blind bin, aber ich seh die Frage nicht?

    Für etwaige Fehler ist der Autor des Textes nicht haftbar zu machen.


    Keine Idee für eine Signatur? Dann schreib doch einfach Leif_Ericsson!

  • Nun, entweder wir sind beide blind, oder da steht keine Frage?!

    Eventuell habe ich mich undeutliche ausgedrückt.
    Ab Folie 4 soll erneut automatisch ein Zufallsgenerator gestartet werden, der zwischen Folie 5 und 6 auswählt. Wie lautet der Code dafür?




    Falls Ihr noch etwas nicht verstanden habt, sagt es. Danke für Eure Mithilfe :)