Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Mit VBA Fußzeile in PP befuellen

Mit VBA Fußzeile in PP befuellen
28.11.2018 16:14:03
Anna
Hallo zusammen,
mit folgendem Code öffne ich eine Powerpoint Vorlage & kopiere eine Tabelle rein.
Nun möchte ich die Fußzeile bei jeder Folie anpassen. Leider funktioniert es nicht.
Kann mir jmd weiterhelfen & drüberschauen? Vielen Dank für eure Tipps!
Sub pptErzeugen()
Dim app As Object
Dim ppt As Object
Dim speicherOrt As String, Pfad As String
Dim pptTable As Object
Dim sld As Slide
Set app = CreateObject("PowerPoint.Application")
app.Visible = msoTrue
Set ppt = app.Presentations.Open(Pfad)
'Fußzeilen anpassen
For Each sld In ppt.Slides
With ppt.ActivePresentation.Slides.HeadersFooters
With .Footer
.Text = Sheets("Namensliste").Range("I2").Value & "| Aktuell |" & Date
.Visible = msoTrue
End With
End With
Next
Worksheets("Diagramme3").Activate
letzteZelle = Worksheets("Diagramme3").Cells(Rows.Count, 2).End(xlUp).Row
Worksheets("Diagramme3").Range("A1:H" & letzteZelle).Copy  'Bereich kopieren
app.ActivePresentation.Slides(3).Select    'Folie auswählen
With app.Presentations("Vorlage.ppt").Slides(3)
Set pptTable = .Shapes.Paste
With pptTabel
.Left = 65
.Top = 15
.Select
End With
End With
End Sub

Direkt meine Fußzeile in ppt kann ich auch nicht ansprechen oder?
Fehlermeldung in ZeileWith ppt.ActivePresentation.Slides.HeadersFooters
: Laufzeitfehler 438 - Objekt unterstützt diese Eigenschaft oder Methode nicht....
Viele Grüße
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mit VBA Fußzeile in PP befuellen
28.11.2018 17:23:19
PeterK
Hallo
Versuch mal

'Fußzeilen anpassen
For Each sld In ppt.Slides
sld.HeadersFooters.Footer.Text = Sheets("Namensliste").Range("I2").Value & "| Aktuell |" _
& Date
sld.HeadersFooters.Footer.Visible = msoTrue
Next

AW: Mit VBA Fußzeile in PP befuellen
28.11.2018 17:34:27
Anna
Hallo Peter,
dein Code funktioniert leider nicht -
HeaderFooter(unknown member): Invalid request wird als Fehlermeldung ausgegeben.
Die Fußzeile dürfte jedoch bekannt sein, oder?
Viele Grüße
Anzeige
AW: Mit VBA Fußzeile in PP befuellen
28.11.2018 18:25:16
firmus
Hi Anna,
versuch das mal, ist bei mir gerade durchgelaufen und hat richtige Ergebnisse erzeugt.
Sub Update_Footer()
' Macro to add the file name to each slide's footer.
'Wichtig dabei, dass der Footer erst 'Visible' gesetzt wird. Sonst kann es zu Laufzeitfehlern  _
kommen!
Dim NameM, NameF As String
' Gets the path and file name.
NameM = ActivePresentation.Name & "firmus master"
NameF = ActivePresentation.Name & "firmus Folie"
' Checks whether there is a Title Master, and if so, updates the path.
If ActivePresentation.HasTitleMaster Then
With ActivePresentation.TitleMaster.HeadersFooters
With .Footer
.Text = NameM
End With
End With
End If
' Updates the slide master.
With ActivePresentation.SlideMaster.HeadersFooters
With .Footer
.Text = NameM
End With
End With
' Updates the individual slides that do not follow the master.
Dim X As Integer
On Error Resume Next
For X = 1 To ActivePresentation.Slides.Count
With ActivePresentation.Slides(X).HeadersFooters
With .Footer
.Text = NameF & " --- " & .Text & " -- " & X
End With
End With
Next
On Error GoTo 0
End Sub
Gruß,
Firmus
Anzeige
AW: Mit VBA Fußzeile in PP befuellen
28.11.2018 20:28:45
Anna
Hallo Firmus,
vielen Dank! funktioniert auch bei mir - brauche es ja "nur" in abgewandelter Version.
Dankeschön für die Hilfe!
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

Fußzeile in PowerPoint mit Excel VBA anpassen


Schritt-für-Schritt-Anleitung

Um die Fußzeile in PowerPoint mit Excel VBA anzupassen, kannst du folgenden VBA-Code verwenden. Dieser Code öffnet eine PowerPoint-Vorlage und passt die Fußzeile jeder Folie an. Stelle sicher, dass du die richtige Excel- und PowerPoint-Version verwendest, um Komplikationen zu vermeiden.

Sub pptErzeugen()
    Dim app As Object
    Dim ppt As Object
    Dim Pfad As String
    Dim sld As Slide

    Set app = CreateObject("PowerPoint.Application")
    app.Visible = msoTrue
    Set ppt = app.Presentations.Open(Pfad)

    ' Fußzeilen anpassen
    For Each sld In ppt.Slides
        With sld.HeadersFooters
            .Footer.Text = Sheets("Namensliste").Range("I2").Value & "| Aktuell |" & Date
            .Footer.Visible = msoTrue
        End With
    Next
End Sub

Dieser Code setzt die Fußzeile für jede Folie und zeigt das aktuelle Datum an. Achte darauf, dass die Range "I2" in deinem Excel-Dokument existiert und die notwendigen Daten enthält.


Häufige Fehler und Lösungen

  • Laufzeitfehler 438: "Objekt unterstützt diese Eigenschaft oder Methode nicht."

    • Lösung: Stelle sicher, dass du die Fußzeile korrekt ansprechen kannst. Der richtige Weg ist sld.HeadersFooters.Footer.
  • HeaderFooter (unknown member): Invalid request:

    • Lösung: Überprüfe, ob die Fußzeile in der Folie tatsächlich existiert und sichtbar ist, bevor du darauf zugreifst.

Alternative Methoden

Wenn du die Fußzeile nicht über VBA anpassen kannst, gibt es auch manuelle Methoden:

  1. Fußzeile in PowerPoint einfügen:

    • Gehe zu "Einfügen" > "Kopf- und Fußzeile" und aktiviere die Fußzeile.
  2. Fußzeile formatieren:

    • Du kannst die Fußzeile auch direkt in PowerPoint bearbeiten, indem du die Folie auswählst und die Fußzeileneinstellungen anpasst.

Praktische Beispiele

Hier ist ein weiteres Beispiel, wie du die Fußzeile für jede Folie anpassen kannst:

Sub Update_Footer()
    Dim NameM As String, NameF As String
    NameM = ActivePresentation.Name & " - Master"
    NameF = ActivePresentation.Name & " - Folie"

    ' Fußzeilen auf dem Folienmaster setzen
    With ActivePresentation.SlideMaster.HeadersFooters
        .Footer.Text = NameM
        .Footer.Visible = msoTrue
    End With

    ' Fußzeilen auf den einzelnen Folien anpassen
    Dim X As Integer
    For X = 1 To ActivePresentation.Slides.Count
        With ActivePresentation.Slides(X).HeadersFooters
            .Footer.Text = NameF & " - Folie " & X
        End With
    Next
End Sub

Tipps für Profis

  • VBA-Fehlerbehandlung: Nutze On Error Resume Next, um Fehler zu ignorieren und den Code weiterhin auszuführen. Dies kann hilfreich sein, wenn du mit variierenden Folienformaten arbeitest.

  • Dynamische Inhalte: Du kannst auch andere Daten aus Excel wie den Autor oder das Datum in die Fußzeile einfügen. Dies macht deine Präsentation informativer.

  • Kopfzeilen anpassen: Vergiss nicht, die Kopfzeilen zu überprüfen. Oft sind sie ebenso wichtig, um die Präsentation zu formatieren.


FAQ: Häufige Fragen

1. Wie kann ich die Fußzeile in PowerPoint bearbeiten?
Du kannst die Fußzeile über die Optionen "Kopf- und Fußzeile" anpassen, die du im Reiter "Einfügen" findest.

2. Kann ich eine Fußnote in PowerPoint einfügen?
Ja, du kannst eine Fußnote einfügen, indem du Textfelder verwendest. Alternativ kannst du die Fußzeile für allgemeine Informationen nutzen.

3. Wie kann ich das Datum in der Fußzeile entfernen?
Um das Datum zu entfernen, gehe zu "Kopf- und Fußzeile" und deaktiviere die Option für das Datum.

4. Warum wird meine Fußzeile nicht angezeigt?
Stelle sicher, dass die Fußzeile in den Folieneinstellungen aktiviert ist und dass die Folie, die du bearbeitest, nicht auf ein Layout eingestellt ist, das die Fußzeile ausblendet.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige