Habe die Konfiguration MS W2000 professional, Office '97 und jetzt folgendes PP-Problem:
Eine Folie
Titel wird eingeblendet. OK
Diagramm wird eingeblendet. OK
Jetzt soll als nächstes am unteren Rand eine Art „Newsticker“ durchlaufen, also ein Text, der permanent von rechts nach links durchläuft, bis nach Benutzereingabe die nächste Folie aufgerufen wird. Schritt 2 + 3 können auch vertauscht werden. Auf jeden Fall soll der „Newsticker“ (irgendein bla bla Text) so lange laufen, bis die nächste Folie kommt.
Im PP 97 habe ich keine derartige Animationsfunktion gefunden. Programmiertechnisch vermutlich eine Schleife mit Abbruchfunktion (Do … while not …) , aber PP_VBA??? Leider „null scheckung“.
Wäre sehr dankbar, wenn mir jemand einen Tip, den Ansatz für ein Makro oder ähnliches nennen könnte.
Danke im Voraus und
Grüße aus Wien
Helmut
gehe nach http://www.lemitec.de/ppt/pptindex.htm
dort gibt es eine Beispieldatei „Toolbox, Textabsätze…“.
Runterladen, die Folie mit dem Lauftext analysieren (vor allem mit Alt F11 in den VBA-Editor gehen), in Deine Präs kopieren und anpassen.
Viele Erfolg.
Gruß
Joachim
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Danke für Deine Antwort und den Link. Das Dumme ist nur, daß die Makros alle geschützt sind. Von 5 Makros erscheinen nur 3 als Objekte in der Editorübersicht und selbst diese (das Scroll-Text ist gar nicht dabei) verweigern den Zugriff auf den Sourcecode. Aber so weiß ich wenigstens, daß so etwas theoretisch möglich ist, werde weiter forschen und mich in der Zwischenzeit mit einer nicht besonders professionnüllen, aber halbwegs brauchbaren Hilfskonstruktion beschäftigen (eine Menge Textfelder übereinander und die nacheinander mit 0 Sek. Abstand einlaufen lassen).
Hallo Helmut,
sorry, dass ich Deinen Beitrag erst jetzt lese.
Tipp: Du musst auf die Modulnamen doppelklicken.
Sicherheitshalber habe ich Dir den Code mal rauskopiert:
Sub ScrollText(sh As Shape)
'Dim sh As Shape
'Set sh = ActivePresentation.SlideShowWindow.View.Slide.Shapes(„ScrollText“)
On Error Resume Next
With ActivePresentation.SlideShowWindow.View.Slide
Set sc = .Shapes(„ScrollText“)
If Err.Number .SlideNumber Then scrollpos = 0
ScrollSlide = .SlideNumber
End With
If run Then ScrollRunner sh
End Sub
Sub ScrollRunner(sh As Shape)
'Dim h As Long, t As String * 1 ’ Besser net
Do
h = Timer + wait
With sh.TextFrame.TextRange
If scrollpos > sc.TextFrame.TextRange.Characters.Count Then scrollpos = 0
t = sc.TextFrame.TextRange.Characters(scrollpos + 1)
.Characters(1).Delete
.InsertAfter t
scrollpos = scrollpos + 1
If scrollpos = sc.TextFrame.TextRange.Characters.Count Then scrollpos = 0
Do
DoEvents
Loop Until Timer > h
End With
With ActivePresentation.SlideShowWindow.View.Slide
If ScrollSlide .SlideNumber Then run = False: scrollpos = 0
End With
Loop Until Not run
End Sub
Viel Erfolg
Joachim
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Auch ich sorry, daß ich Deinen Artikel erst jetzt lese. Das „Aber“ beim Danke bezieht sich darauf, daß ich diesen Lauftext genau am 22.9 für eine Präsentation brauchte und Deinen Artikel nicht mehr verwenden konnte. Aber wir haben’s trotzdem halbwegs hingekriegt, die Präsentation war ein Erfolg und zusätzlich habe ich jetzt von Dir den Source-Code, wie man so etwas professionell bewerkstelligt und bin für die Zukunft gerüstet.
Nochmals vielen Dank und
Grüße aus Wien
Helmut