Steelnight
Lt. Junior Grade
- Registriert
- Nov. 2008
- Beiträge
- 295
Hallo sehr geehrte CB-Gemeinde, isch hab da mal eine Frage .
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
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:
** 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
** 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
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
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
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