Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1256to1260
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro Code um auf PPT zuzugreifen

Makro Code um auf PPT zuzugreifen
Pascal
Guten Tag zusammen
Dank der grandiösen Hilfe hier aus diesem Forum hab ich folgenden Code erhalten um auf meine im Hintergrund geöffnete PPT – Datei (nicht Präsentations-Modus)
zuzugreifen:
Public Sub GetAllText()
Dim powerPointSlide As Object
Dim slideShape As Object
Dim tempArray As Variant
Dim i As Integer
Dim Titel As String
Dim Titel2 As String
Dim titel3 As String
Dim Titel4 As String
'Schleifen über alle Folien in der aktuellen PPT
For Each powerPointSlide In powerPointPresentation.Slides 'Schleife über alle Slides
For Each slideShape In powerPointSlide.Shapes ''Schleife über alle Shapes in der Slide
Titel = powerPointApplication.ActivePresentation.Name
Titel2 = powerPointApplication.ActiveWindow.View.Slide.Name
tempArray = Split(slideShape.TextFrame.TextRange.Text, "*") 'Text aufteilen nach *
For i = LBound(tempArray) To UBound(tempArray)
If Left(tempArray(i), 1) = "#" Then 'Aufteilungen überprüfen ob 1tes Zeichen ein #
AddText newText:=tempArray(i)
End If
Next i
Titel5 = slideShape.TextFrame.TextRange.Text
Titel4 = powerPointSlide.Name
titel3 = slideShape.Name
Next slideShape
Next powerPointSlide
End Sub

Dieser Code macht folgendes:
In der im Hintergrund offenen PPT – Datei (nicht im Präsentationsmodus) werden alle Zeilen, geholt, welche zwischen den Zeichen #* (=Start) und * (=Ende) liegen.
Und dies natürlich über alle Folien in der PPT – Datei.
Sinn und Zweck dieses Makro's ist es, speziell markierte Texte aus dem PPT ins Excel in eine Tabelle zu übertragen.
Im obigen Code hab ich mal testhalber schon versucht weitere Texte, Namen, etc… aus der PPT zu ermitteln und in Testvariablen zu schreiben. Daher die Variablen Titel3, Titel4 etc..)
D.h. ich lade die entsprechenden Texte zuerst auf eine UserForm in verschiedene Textfelder um sie dem User zu zeigen.
Anschliessend werden diese ins Excel in eine Tabelle kopiert.
Siehe dazu beiligende Dateien. – Zuerst das PPT öffnen, anschliessend das Excel öffnen und dort drin die Userform starten
https://www.herber.de/bbs/user/79583.ppt
https://www.herber.de/bbs/user/79584.xlsm
Nun mein eigentliches Problem oder meine eigentliche Frage:
Ich möchte den Code so ergänzen, dass er mir in einem Textfeld auf der UserForm den Text der allerersten Folie der Präsentation anzeigt.
Zudem sollte bei jedem Text der ab der Präsentation geholt (und dann kopiert wird) gleich auch noch die dazugehörende Folien-Nummer (oder Seite)
in einem separaten Textfeld angezeigt werden.
Die Seitennummer (oder Foliennummer) kriegte ich schon mal mit dieser Zeile hier hin:
Me.TextBox2.Text = powerPointApplication.ActiveWindow.View.Slide.Name
Problem ist nur, dass diese Zeile bloss nur immer die erste Folie ausgibt. (d.h. ich müsste die irgendwie noch in die Schlaufe einbinden, welche über alle Folien läuft.
(also so, dass nicht nur die erste Seite, sondern auch die Folgeseiten ausgegeben werden.)
Leider aber hab ich das bisher nicht hingekriegt. Mein PPT – VBA – Wissen reicht da offenbar nicht aus.
Wär wirklich Sausuper-Nett, wenn mir jemand hier etwas weiterhelfen könnte.
Im voraus ein riesiges Dankeschööön !
AW: Makro Code um auf PPT zuzugreifen
29.03.2012 15:35:34
fcs
Hallo Pascal,
das war jetzt etwas komplizierter. Das Klassenmodul muss angepast werden, so dass
1.) der Name und der Index der jeweiligen Folie zu jedem Eintrag mit gespeichert werden
2.) statt eines Textwertes, immer jeweils 3 Werte an das Userform zur Anzeige übergeben werden.
3.) Für die Anzeige der Texte auf der 1. Seiter der PP-Präsentation ist eine zusätzliche Prozedur im UF-Code erforderlich.
Gruß
Franz
https://www.herber.de/bbs/user/79600.xlsm
AW: Makro Code um auf PPT zuzugreifen
29.03.2012 15:40:25
Pascal
Sali Franz
Vorerst mal VIELEN VIELEN VIELEN HERZLICHEN DANK für Deine Antwort und den Lösungsvorschlag.
Diesen werde ich mir jetzt mal in Ruhe zu Gemüte führen.
Mein Wichtigstes Dabei ist natürlich:
Verstehen und Lernen können.
Werde mich selbstverständlich dann wieder hier melden.
Bis dahin nochmals Vielen Dank !
Anzeige
AW: Makro Code um auf PPT zuzugreifen
29.03.2012 20:06:55
Pascal
Hallo lieber Franz
ich wollte mir soeben hier auf dem heimischen PC (gleiches Betriebssystem, gleiches Office wie im Geschäft: Win7 / Office2010) Deinen Lösungsvorschlag mal etwas näher anschauen.
doch bei mir kommt hier auf dem heimischen PC folgende Laufzeitfehlermeldung:
Objekterstellung durch ActiveX-Komponente nicht möglich (Fehler 429)
Dann bleibt der Code bei der folgenden Zeile stehen:
Sub UF_Anzeigen()
Import.Show
End Sub
woran liegt das ? - was kann ich tun, um den Code auch hier auf dem heimischen PC zu starten ?
(Im Geschäft konnte ich das Makro problemlos starten)
Besten Dank und Gruss: Pascal
Anzeige
AW: Makro Code um auf PPT zuzugreifen
30.03.2012 00:03:25
fcs
Hallo Pascal,
du muss natürlich vor dem Starten des Userforms in Excel eine Powerpoint-Präsentation starten. Dieser Fehler ist zumindest bei mir ohne geöffnete PP-Datei aufgetreten. Eine andere Ursache wüsste ich jetzt nicht.
Noch was anderes: Ich hatte für die Datei zum Testen im VBA-Editor unter Extras--Verweise den Verweis auf die Microsoft PowerPoint Object Library gesetzt. Diesen Verweis kannst du wieder deaktivieren.
Gruß
Franz
AW: Makro Code um auf PPT zuzugreifen
30.03.2012 00:08:46
fcs
Hallo Pascal,
noch etwas. Falls der Fehler weiter auftritt dann mit F8 schrittweise weitermachen. Dann kannst du feststellen, in welcher Zeile der Fehler genau auftritt.
Bei mir war es in Zeile
    Set powerPointApplication = GetObject(, "PowerPoint.Application")
ohne geöffnete PP-Datei.
Gruß
Franz
Anzeige
AW: Makro Code um auf PPT zuzugreifen
30.03.2012 12:46:49
Pascal
Werde das ebenfalls mal noch probieren
Danke für den Hinweis
AW: Makro Code um auf PPT zuzugreifen
30.03.2012 12:45:41
Pascal
Hallo Franz
Danke für den Hinweis mit der PPT welche geöffnet sein muss. Aber an das hab ich selbstverständlich schon gedacht :-)
ich werde heut Abend mal noch versuchen, daheim den Verweis auf die MS PPT - Objekt-Library wieder zu deaktivieren.
Evt. kopiere ich mir noch die DAO360.DLL hier vom Geschäfts-PC und setze die daheim mal ein.
Werde hier jedenfalls Posten, was die Resultate sind.
Grüsse: Pascal
AW: Makro Code um auf PPT zuzugreifen
31.03.2012 17:38:23
Pascal
Hurra !
Jetzt läuft das Ganze Makro auch auf dem heimischen PC
Und zwar hab ich die DAO360.DLL einfach nochmals neu registriert, Rechner rebootet und ... geklappt hats !
Danke herzlich !
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige