Anzeige
Archiv - Navigation
1924to1928
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
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

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

43 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige