Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1292to1296
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

Aus Excel bestimmte PPT-Folie anzeigen

Aus Excel bestimmte PPT-Folie anzeigen
04.01.2013 11:15:18
Albert
Guten Morgen zusammen,
in einigen Foren hab ich schon Codes gefunden, mit denen man aus Excel heraus Daten und Bilder, sogar neue Folien in eine bestimmte PowerPoint-Datei einfügen kann.
Ich hab nachfolgenden Code verwendet. Das Öffnen der Datei funktioniert optimal (Dank an den freundlichen Helfer beim letzten Eintrag), doch sobald ich die Seitenzahl angeben will, kommt ein Objektfehler.
Woran könnte das liegen?
Private Sub Handbuch_MA_Click()
Dim n As Long
'1 = vbNormalFocus
'2 = Minimized
'3 = Maximized
Open_File (Sheets("Deckblatt").Range("C52").Value), 3
n = Application.InputBox("Bitte geben sie die Seite ein!")
Powerpoint_Application.ActivePresentation.SlideShowWindows(Index:=n).View.GotoSlide  _
Index:=n
End Sub
Vielen Dank schon mal im Voraus.
Albert

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
GELÖST =>AW:Aus Excel bestimmte PPT-Folie anzeigen
04.01.2013 14:00:55
Albert
Servus Leute,
ich wollte auch nicht vorenthalten, wenn ein Problem gelöst wurde.
Anhand des beigefügten Codes konnte es gelöst werden.
Sub Seitenauswahl_in_PowerPoint()
Dim n As Long
Dim ppApp As Object
Dim ppFile As Object
Dim ppPres As String
On Error GoTo Fehler:
n = Application.InputBox("Bitte geben sie die Seite ein!")
'Dateiname
ppPres = Sheets("Deckblatt").Range("C52").Value 'oder anders "c:\test\test.xls
'Object referenzieren
Set ppApp = CreateObject("Powerpoint.Application")
'Object initialisieren
ppApp.Visible = msoTrue
'PPT öffnen
Set ppFile = ppApp.Presentations.Open(ppPres)
'Foliennummer angeben
ppApp.ActivePresentation.Slides(n).Select
Fehler:
MsgBox ("Das gewählte Handbuch beinhaltet nicht die angegebene Seite!")
End Sub

Anzeige
AW: GELÖST =>AW:Aus Excel bestimmte PPT-Folie anzeigen
04.01.2013 14:09:18
Albert
Ola,
dennoch bräuchte ich noch einen Hinweis...
Der zuletzt angegebene Code öffnet das PowerPoint immer wieder neu.
Wie könnte ich das denn unterdrücken, dass es eben nur einmal offen ist?
Viele Grüße
Albert

AW: GELÖST =>AW:Aus Excel bestimmte PPT-Folie anzeigen
04.01.2013 14:23:17
Rudi
Hallo,
kann sein, dass es auch eleganter geht.
Als Anregung:
Sub Seitenauswahl_in_PowerPoint()
Dim n As Long
Dim ppApp As Object
Dim ppFile As Object
Dim ppPres As String
Dim bol As Boolean
On Error Resume Next
AppActivate ("microsoft powerpoint")
bol = Err.Number = 0
On Error GoTo 0
n = Application.InputBox("Bitte geben sie die Seite ein!")
'Dateiname
ppPres = Sheets("Deckblatt").Range("C52").Value 'oder anders "c:\test\test.xls
If Not bol Then
'Object referenzieren
Set ppApp = CreateObject("Powerpoint.Application")
'Object initialisieren
ppApp.Visible = msoTrue
End If
'PPT öffnen
Set ppFile = ppApp.Presentations.Open(ppPres)
On Error GoTo Fehler:
'Foliennummer angeben
ppApp.ActivePresentation.Slides(n).Select
Fehler:
MsgBox ("Das gewählte Handbuch beinhaltet nicht die angegebene Seite!")
End Sub

Gruß
Rudi

Anzeige
To Rudi >AW:Aus Excel bestimmte PPT-Folie anzeigen
07.01.2013 07:38:19
Albert
Guten Morgen Rudi,
PowerPoint wird dennoch zweimal geöffnet und die FEHLER-Message wird auch angezeigt...
Hm, woran könnte das liegen? Weißt du was?
Viele Grüße, Danke und nen erfolgreichen Montag
Albert

AW: To Rudi >AW:Aus Excel bestimmte PPT-Folie anzeigen
07.01.2013 08:07:45
schauan
Hallo Albert,
schaue Dir mal den bol an. Steht der oben auf 1? Das müsste er, damit Not bol richtig wirkt. Steht er bei vorhandenem Powerpoint auf 0, müsste das Not weg.
  _
Hoffe, geholfen zu haben. Grüße, André aus G in T  (xls 97-2013)

To André > Aus Excel bestimmte PPT-Folie anzeigen
07.01.2013 15:26:46
Albert
Servus André,
hab die 1 entsprechend geändert. Bitte erkläre mir doch, was das NOT BOL zu bedeuten hat.
Ach ja, PowerPoint öffnet sich noch immer mehrfach. Arrr....
Weißt du da vielleicht noch Abhilfe?
D&G
Albert

Anzeige
AW: To André > Aus Excel bestimmte PPT-Folie anzeigen
07.01.2013 15:43:55
schauan
Hallo Albert,
das war jetzt aber falsch aufgefasst :-(
Also, oben der Teil ist schon korrekt.
0 Steht für falsch, andere Werte für true.
Wenn kein Fehler kommt, weil die Anwendung offen ist, ist die Fehlernummer 0.
Das Ergebnis bzw. bol soll in dem Fall auch 0 bleiben.
Unten das Not muss weg. Das Ganze hat mit "boolscher" Mathematik zu tun ;-)
Not bol bedeutet das die If-Bedingung wahr ist, wenn bol falsch, also = 0 ist. bol ist aber 0, wie gerade geschrieben, wenn die Anwendung bereits offen ist.
Ich hoffe, damit sind auch die letzten Klarheiten beseitigt ;-)
 Hoffe, geholfen zu haben. Grüße, André aus G in T  (xls 97-2013)

Anzeige
AW: To André > Aus Excel bestimmte PPT-Folie anzeigen
07.01.2013 16:50:45
Albert
Hi André,
nichts für ungut, aber deine Erklärung lese ich nochmals nach einer halben Bier! Das ist mir jetzt zu hoch.
Nichts desto trotz hab ich das NOT herausgenommen.
Weiterhin Fakt, dass PPT häufiger geöffnet wird.
D&G
Albert

AW: To André > Aus Excel bestimmte PPT-Folie anzeigen
07.01.2013 17:17:24
schauan
Hallo ALbert,
das dachte ich mir:-( Eigentlich ist es am Besten, so was mal mit verschiedenen Parametern auszuprobieren.
Wär an einer Stelle vielleicht auch besser gewesen, ich hätte geschrieben,
If Not Bol ist dasselbe wie if bol = false
und
If Bol ist dasselbe wie if bol = true :-(
Ich hab hier mal ein paar Beispiele. Weche Bedingung zur Msgbox führt, hab ich mit 'die gekennzeichnet.
Sub test()
Dim bol As Boolean
bol = 0
If bol Then MsgBox bol & " bol = 0"
If Not bol Then MsgBox bol & " 0 not bol" 'die 
If bol = True Then MsgBox bol & " 0 bol true"
If bol = False Then MsgBox bol & " 0 bol false" 'die 
bol = 1
If bol Then MsgBox bol & " bol = 1" 'die 
If Not bol Then MsgBox bol & " not bol"
If bol = True Then MsgBox bol & " bol true" 'die 
If bol = False Then MsgBox bol & " bol false"
End Sub
Hast Du übrigens oben wieder den Originalzustand hergestellt?
bol = Err.Number = 0
 Hoffe, geholfen zu haben. Grüße, André aus G in T  (xls 97-2013)

Anzeige
AW: To André > Aus Excel bestimmte PPT-Folie anzeigen
07.01.2013 17:33:11
Albert
Hi André,
herzlichen Dank für die ausführliche Erklärung. Vielleicht hatte ich da ein kleines Hängerchen vorhin.
Bin mit den Gedanken immer noch beim Problem mit den mehrfachen PPT-Fenster gewesen.
Das Problem muss sich doch irgendwie lösen lassen. Hab das Gefühl, die Lösung liegt so nah...
Akutell ist das mein Code...
Private Sub Handbuch_MA_Click()
Dim n As Long
Dim ppApp As Object
Dim ppFile As Object
Dim ppPres As String
Dim bol As Boolean
On Error Resume Next
'AppActivate ("microsoft powerpoint")
bol = 0
On Error GoTo 0
n = Application.InputBox("Bitte geben sie die Seite ein!")
'Dateiname
ppPres = Sheets("Deckblatt").Range("C52").Value 'oder anders "c:\test\test.xls
If bol Then
'Object referenzieren
Set ppApp = CreateObject("Powerpoint.Application")
'Object initialisieren
ppApp.Visible = msoTrue
'PPT öffnen
Set ppFile = ppApp.Presentations.Open(ppPres)
'Foliennummer angeben
ppApp.activepresentation.Slides(n).Select
End If
End Sub
Ich werd noch wahnsinnig...
D&G
Albert

Anzeige
AW: To André > Aus Excel bestimmte PPT-Folie anzeigen
07.01.2013 17:46:37
schauan
Hallo Albert,
Dein code sieht aber schon etwas anders aus als der von Rudi. AppActivate ist auskommentiert, das End If steht zu weit unten.
Nimm nochmal das Original von Rudi und dort einfach nur das Not raus.
Die Zeile mit dem Dateinamen passt, oder?
ppPres = Sheets("Deckblatt").Range("C52").Value
Der Dateiname sollte auf dem Blatt Deckblatt in Zelle C52 günstigerweise mit Laufwerk und Pfad stehen, siehe der Kommentar
'oder anders "c:\test\test.xls
 Hoffe, geholfen zu haben. Grüße, André aus G in T  (xls 97-2013)

Anzeige
AW: GELÖST =>AW:Aus Excel bestimmte PPT-Folie anzeigen
07.01.2013 17:39:32
Albert
Hi André,
mir fraglich ist es eben, dass ich den Fensterstatus von PPT nicht abfragen kann, ob es bereits offen ist oder nicht.
Weißt du vielleicht, welchen Code ich verwenden müsste, um zu prüfen, ob die datei aus c52 offen ist?
D&G
Albert

AW: GELÖST =>AW:Aus Excel bestimmte PPT-Folie anzeigen
07.01.2013 17:53:36
schauan
Hallo Albert,
im Prinzip sollte es so gehen (ungetestet)
Du müsstest die zwei Zeilen
'PPT Öffnen
Set ...
durch folgenden code ersetzen:
'PPT aktivieren 
'Fehler zuruecksetzen 
Err.Clear
'bei Fehler mit naechster Zeile weiter 
On Error Resume Next
'Praesentation aktivieren 
Set ppFile = ppApp.Presentations.Activate(ppPres)
'Wenn Fehler, dann 
If Err Then
'PPT öffnen 
Set ppFile = ppApp.Presentations.Open(ppPres)
'Ende Wenn Fehler, dann 
End If
Fehlerbehandlung zuruecksetzen
On Error GoTo 0
 Hoffe, geholfen zu haben. Grüße, André aus G in T  (xls 97-2013)

Anzeige
AW: GELÖST =>AW:Aus Excel bestimmte PPT-Folie anzeigen
08.01.2013 09:29:55
Albert
Guten Morgen André,
ich hab deinen Code eingefügt. Hm, gabs da wirklich ne Veränderung im Ablauf? Denn es werden auch weiterhin zwei Sessions geöffnet.
Grad frag ich mich so, ob es im PowerPoint eine Einstellung gibt, dass mehrere Instanzen geöffnet werden können/dürfen?!
D&G
Albert

Aus Excel bestimmte PPT-Folie anzeigen
08.01.2013 16:12:08
Anton
Hallo Albert,
probier sowas:
Sub b()
Dim ppt As Object, datei As String
datei = "c:\tmp\test.ppt" 'Pfad anpassen
If Len(Dir(datei, vbNormal))  0 Then
Set ppt = GetObject(datei)
ppt.Application.Visible = True
AppActivate "Microsoft PowerPoint"
ppt.slides(2).Select
Set ppt = Nothing
Else
MsgBox datei & " nicht gefunden!"
End If
End Sub

mfg Anton

Anzeige
AW: Aus Excel bestimmte PPT-Folie anzeigen
08.01.2013 17:07:29
Albert
Hallo Anton,
danke für deine Hilfe. Hab das auch mit eingebaut.
Viele Grüße
Albert

Danke an alle, die mithalfen und Geduld bewiesen
08.01.2013 17:08:35
Albert
owt

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige