Office: PowerPoint VBA - nur erste Zeile des Makros wird ausgeführt?

Helfe beim Thema PowerPoint VBA - nur erste Zeile des Makros wird ausgeführt? in Microsoft PowerPoint Hilfe um das Problem gemeinsam zu lösen; Hallo, allerseits! Was mach ich falsch, was habe ich nicht bedacht? Ich habe folgendes gemacht: Auf einer Folie habe ich 3 farbige... Dieses Thema im Forum "Microsoft PowerPoint Hilfe" wurde erstellt von miriki, 20. März 2007.

  1. miriki Erfahrener User

    PowerPoint VBA - nur erste Zeile des Makros wird ausgeführt?


    Hallo, allerseits!

    Was mach ich falsch, was habe ich nicht bedacht? Ich habe folgendes gemacht:

    Auf einer Folie habe ich 3 farbige (halbtransparent rot, grün, blau gefüllt) Kreise. als "Aktionseinstellung" habe ich für jeden Kreis dann die Makros
    MausklickRot, MauskontaktRot,
    MausklickGruen, MauskontaktGruen,
    MausklickBlau, MauskontaktBlau
    entsprechend aktiviert. Bislang probiere ich mit "MausklickRot" herum:

    Sub MausklickRot()
    Anfassen KreisRot
    End Sub

    Die entsprechende Routine, die dort aufgerufen wird:

    Private Sub Anfassen(shp$)
    Dim seitenhoehe As Long
    Dim seitenbreite As Long
    Dim untergrenze As Long
    Dim obergrenze As Long
    MsgBox "Klick: " & shp
    With ActiveWindow
    seitenhoehe = .Height
    seitenbreite = .Width
    End With
    MsgBox "hoehe * breite (seite): " & seitenhoehe & " * " & seitenbreite
    With ActivePresentation.Slides(1).Shapes(shp)
    untergrenze = .Width
    obergrenze = seitenhoehe - .Height - .Height
    .Top = Int(Rnd * (obergrenze - untergrenze + 1) + untergrenze)
    untergrenze = .Width
    obergrenze = seitenbreite - .Width - .Width
    .Left = Int(Rnd * (obergrenze - untergrenze + 1) + untergrenze)
    MsgBox "top / left: " & .Top & " / " & .Left
    End With
    End Sub

    Im Header des Moduls noch:

    Option Explicit
    Const KreisRot = "Ellipse 1"
    Const KreisGruen = "Ellipse 2"
    Const KreisBlau = "Ellipse 3"

    Mein Problem jetzt:

    Wenn ich die Präsentation mit F5 starte und kurz mit der Maus "rühre", wird der Mauscursor sichtbar. Bewege ich den Mauscursor dann über den roten Kreis und klicke dann mit links, erhalte ich auch die Messagebox mit dem "Klick: Ellipse 1".

    Aber das war's dann auch! die 2. Messagebox kommt schon nicht mehr, geschweige denn, daß der Kreis seine Position verändert.

    Wenn ich die msgbox-Anweisung hinter den ersten with-Block verschiebe, kommt nicht mal mehr die Messagebox!

    Was muß ich hier ändern, damit das sub komplett abgearbeitet wird?

    Ich hab die ppt mal im Anhang angefügt. Außerdem: PP 2000 (nicht 2003, hatte mich im letzten Thread vertan...)

    Gruß, Michael
     
    miriki, 20. März 2007
    #1
  2. miriki Erfahrener User
    Re: PowerPoint VBA - nur erste Zeile des Makros wird ausgefü

    me, myself and i:
    > Was mach ich falsch, was habe ich nicht bedacht?

    Also ich bin jetzt einen ordentlichen Schritt weiter gekommen.

    Das grundsätzliche Problem war wohl, daß ich auf den falschen Canvas zugegriffen habe. Wenn ich das SlideShowWindow nehme, klappt es.

    Jetzt hab ich noch 2 kleinere Probleme:

    a) Wie hoch / breit ist das SlideShowWindow?

    With Application.ActivePresentation.SlideShowWindow
    seitenhoehe = .Height
    seitenbreite = .Width
    seitenrandy = .Top
    seitenrandx = .Left
    End With

    Damit kriege ich die Werte 768, 960, 0, 0 heraus. Die Grafikkarte ist auf eine Auflösung von 1280x1024 eingestellt.

    Benutze ich dann folgendes für die Berechnung der neuen Position des Shapes:

    untergrenze = shapehoehe
    obergrenze = seitenhoehe - 2 * untergrenze
    Y = Int(Rnd * (obergrenze - untergrenze + 1) + untergrenze)

    untergrenze = shapebreite
    obergrenze = seitenbreite - 2 * untergrenze
    X = Int(Rnd * (obergrenze - untergrenze + 1) + untergrenze)

    Dann passiert es aber immer wieder mal, daß der Shape im unsichtbaren Bereich verschwindet. Wie kann das sein?

    b) Das Ansprechen eines Shapes macht mir leichte Probleme. Ich habe 3 Kreise erstellt, die "Ellipse 1" usw. heißen. Blöderweise behalten die Shapes aber ihre Namen nicht, wenn die Präsentation mit F5 gestartet wird. In meiner ppt wird aus "Ellipse 1" dann plötzlich "Oval 2" usw.

    Z.Z. behelfe ich mir damit, zusätzlich zum Namen auch eine Nummer zu übergeben. Aber ich weiß nicht, ob PP womöglich die Reihenfolge der Shapes auch mal durcheinanderwürfelt, womit ich mit 1 nicht mehr den roten Kreis, sondern vielleicht den blauen erwischen würde.

    Komme ich irgendwo noch an den ursprünglichen Namen heran, um ein Shape auf der Folie zu finden?

    Gruß, Michael
     
    miriki, 21. März 2007
    #2
Thema:

PowerPoint VBA - nur erste Zeile des Makros wird ausgeführt?

Die Seite wird geladen...
  1. PowerPoint VBA - nur erste Zeile des Makros wird ausgeführt? - Similar Threads - PowerPoint VBA Zeile

  2. Powerpoint löschen von zuletzt verwendeten Farben

    in Microsoft Word Hilfe
    Powerpoint löschen von zuletzt verwendeten Farben: Hallo liebe Forum! Ich weiss, es ist ein Word-Forum, aber vielleicht kann mir jemand sagen, wie ich im Powerpoint (aktuellste Version) die "zuletzt verwendeten Farben" löschen kann. Danke für...
  3. Menü als Navigation in VBA programmieren (Hyperlink alternative)?

    in Microsoft PowerPoint Hilfe
    Menü als Navigation in VBA programmieren (Hyperlink alternative)?: Hallo zusammen, meine ppt hat fast 100 Folien , wobei meistens 5 Folien zu einem Thema («zum gleichen Paket») gehören. Nun möchte ich gerne gleich zu Beginn ein Menüfenster einfügen, damit man zu...
  4. Berechnungen in PowerPoint

    in Microsoft PowerPoint Hilfe
    Berechnungen in PowerPoint: Hallo zusammen, die angefügte pptx Datei ist normalerweise im pptm Format gespeichert. Leider bin ich eine absolute Niete was VBA angeht. Ich möchte, das einige Berechnungen bei einer...
  5. Automatische Präsentation steuern

    in Microsoft PowerPoint Hilfe
    Automatische Präsentation steuern: Für eine Sportveranstaltung (Double Ultra Triathlon Emsdetten) würde ich gerne folgendes Szenario umsetzen. Auf einer Präsentations-LED-Videowand werden die Live-Ergebnisse des Wettkampfs über...
  6. Excel VBA --> In PowerPoint definiert ein Placeholder ansprechen

    in Microsoft Excel Hilfe
    Excel VBA --> In PowerPoint definiert ein Placeholder ansprechen: Hallo zusammen, ich werde hier noch verrückt. Mein Ziel ist es über Excel VBA eine PowerPoint zu füllen wobei ich zwei Placeholder habe die zwei unterschiedliche Bilder bekommen sollen. Ich...
  7. PowerPoint VBA Inhaltsverzeichnis mit Abschnitten in hinterste Folie schreiben

    in Microsoft PowerPoint Hilfe
    PowerPoint VBA Inhaltsverzeichnis mit Abschnitten in hinterste Folie schreiben: Hallo werte Community Ich habe nun bereits mehr als einen ganzen Arbeitstag mit der Suche nach dem richtigen VBA-Code (respektive Bausteinen dafür) verbracht (kenne mich eigentlich nur mit...
  8. Screenshot der UserForm in Powerpoint einfügen

    in Microsoft Excel Hilfe
    Screenshot der UserForm in Powerpoint einfügen: Hallo, eigentlich beschreibt der Titel schon sehr genau was mein Problem ist. Ich habe in Excel eine UserFormr erstellt, dass sich über eine Schleife mit den jeweiligen Zeilenwerten füllt....
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden