[VBA] Mit Excel Powerpoint-Funktionen aufrufen

Steelnight

Lt. Junior Grade
Registriert
Nov. 2008
Beiträge
295
Hallo sehr geehrte CB-Gemeinde, isch hab da mal eine Frage :D.

Leider komme ich mit VBA langsam an meine Grenzen und finde durch googlen leider keine vernünftige Antwort.

Eckdaten:
* Excel-Datei ist gespeichert
* Powerpoint-Vorlage hat eine VBA-Funktion

Was ich vorhabe:
Schritt 1: Excel-Datei (.xlsm) soll Powerpoint-Vorlage (.potm) aufrufen, bzw. aus dem Template eine neue Powerpoint erzeugen
Code:
Presentations.Open FileName:="C:\My Documents\pres1.potm"

Schritt 2: Übergabe von Pfad und Dateiname der Excel an Powerpoint
** Hier hakt es**

Schritt 3: Powerpoint ruft eine VBA-Funktion auf (die Dateiverbindungen aktualisieren soll)

Mit festem Path sieht die Aktualisierung so aus:
Code:
Sub UpdateAufruf()
    Dim ExcelFile
    Dim exl As Object
    Set exl = CreateObject("Excel.Application")
     
     'Neuer Pfad zur Excel
    ExcelFile = "C:\Users\Mustermann\Muster.xlsm"
     
    Dim i As Integer
    Dim k As Integer
     
     'Gehe durch jede Folie
    For i = 1 To ActivePresentation.Slides.Count
        With ActivePresentation.Slides(i)
             'Untersuche jedes Diagramm auf allen Folien
            For k = 1 To .Shapes.Count
                'Ausschalten des error checkings, so das es nicht stoppt, falls das aktuelle Diagramm keine Verbindung hat
                On Error Resume Next
                 'Ressourcen der Diagramme werden mit dem neuen Pfad verbunden
             .Shapes(k).LinkFormat.SourceFullName = ExcelFile
             If .Shapes(k).LinkFormat.SourceFullName = ExcelFile Then
                 'War die Änderung erfolgreich, wird die Aktualisierung der Folien auf Autmatik gesetzt
                 .Shapes(k).LinkFormat.AutoUpdate = ppUpdateOptionAutomatic
             End If
             On Error GoTo 0
             Next k
        End With
    Next i
    
    Call UpdateChart
End Sub
** Wie übergebe ich aus Excel heraus Dateipfad und Name ? **

Schritt 4: Powerpoint wird unter dem Namen der Excel-Datei als .pptx im selben Ordner gespeichert
Code:
Sub Speichern()
With Application.ActivePresentation
Dim Dateiname As String
    .SaveAs Dateiname, ppSaveAsPresentation
End With
End Sub
** Wie bekomme ich hier den Dateipfad und Dateinamen der Excel (jetziger String ist nur ein Platzhalter) unter? **

Schritt 5: Die .pptx wird geöffnet und dem Benutzer angezeigt

Vielleicht gibt es einen VBA-Crack, der mir weiterhelfen kann :) ?
Ich komme jedenfalls nicht mehr weiter.

Dankend für alle Antworten,
p8003
 
Hallo,
so eine Verbindung wie du sie hast, hab ich noch nie gemacht, allerdings kann ich evtl trotzdem ein wenig helfen.
Falls du geplant hast, in Excel ein Makro laufen zu lassen, und dann noch eins in Powerpoint, wird das vermutlich nicht gehen.
Versuche mal in excel ein Object zu erstellen, welches Powerpoint "darstellt" und steuer dann Powerpoint aus Excel heraus.

evtl. findest du hier informationen:

http://www.herber.de/forum/archiv/808to812/808332_appPP_As_PowerPointApplication.html

Gruß Thomas
 
Danke für den Link :)!
Ich werd morgen mal etwas damit experimentieren und Feedback geben ob es geklappt hat.
 
Zurück
Oben