Microsoft Excel

Herbers Excel/VBA-Archiv

Mit VBA Fußzeile in PP befuellen


Betrifft: Mit VBA Fußzeile in PP befuellen
von: Anna
Geschrieben am: 28.11.2018 16:14:03

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

  

Betrifft: AW: Mit VBA Fußzeile in PP befuellen
von: PeterK
Geschrieben am: 28.11.2018 17:23:19

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



  

Betrifft: AW: Mit VBA Fußzeile in PP befuellen
von: Anna
Geschrieben am: 28.11.2018 17:34:27

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


  

Betrifft: AW: Mit VBA Fußzeile in PP befuellen
von: firmus
Geschrieben am: 28.11.2018 18:25:16

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


  

Betrifft: AW: Mit VBA Fußzeile in PP befuellen
von: Anna
Geschrieben am: 28.11.2018 20:28:45

Hallo Firmus,
vielen Dank! funktioniert auch bei mir - brauche es ja "nur" in abgewandelter Version.

Dankeschön für die Hilfe!