Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA und Powerpoint

VBA und Powerpoint
21.03.2023 10:48:12
Thomas

Hallo

Ich suche einen VBA Code, wodurch ich in Powerpoint z.b. Folie 5 bis 13, den Speichernamen vorgeben kann, Speicherort auswählen und als PDF speichert.
Code soll durch ein CommandButton ausgeführt werden.

Hat jemand eine Ahnung, oder ggf. ein Code der das macht?

Danke schön

Gruß
Thomas

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA und Powerpoint
21.03.2023 17:13:44
Yal
Hallo Thomas,

für ein "Kaum Excel/VBA-Kenntnisse" ist schon den Einstieg in der Excel-Progammierung im wesentlichen von einem Gegenstand geholfen: den Makrorekorder.
In Powerpoint ist es schwieriger, weil es keinen Rekorder gibt.
D.h. Du musst
_ dich in dem PowerPoint-Welt einarbeiten,
_ in VBA einarbeiten
_ in dem Objekt-Modell von ppt einarbeiten
Objekt-Modell heisst in Excel: Ein Datei ist in VBA ein "Workbook", ein Workbook besteht aus Worksheets (Blätter), die selber Bereiche ("Range") haben und einzelne Zelle (sonderfall von Range, die mit .Cells(Ziele, Spalte) adressiert werden können).

Für Powerpoint gibt es das Ober-Objekt Presentation, dann Slides, dann Shapes usw.
Siehe: https://learn.microsoft.com/de-de/office/vba/api/overview/powerpoint/object-model
Von da an, gehst Du in das Objekt Presentation und dessen Methode ExportAsFixedFormat. Darin gibt es ein Beispiel.
Du musst dann auch das Objekt PrintRange anschauen

Dein Anliegen sieht ungefähr so aus (es ist ein ppt-VBA, also in einem ppt-VB-Modul reinbringen):
Sub test()
Dim P As Presentation
Dim S As Slide
Dim i As Long
Dim pr As PrintRange

Const cPfad = "C:\temp\"
    Set P = ActivePresentation
    For i = 1 To P.Slides.Count
        Set S = P.Slides(i)
        Debug.Print S.Name
        pr.Start = i
        pr.End = i
        P.ExportAsFixedFormat cPfad & S.Name & ".pdf", ppFixedFormatTypePDF, ppFixedFormatIntentScreen, _
            msoCTrue, ppPrintHandoutHorizontalFirst, ppPrintOutputBuildSlides, msoFalse, _
            pr, ppPrintSlideRange, , False, False, False, False, False
    Next
End Sub
Ungetestet, bzw. gerade aus dem Arm geschütelt, da ich sehr selten in PPT programmiere.

VG
Yal

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige