Supportnet / Forum / Präsentation
Makro in Powerpoint 2003
Frage
Guten Tag,
ich habe auf der Internetseite
[url]http://www.transcom.de/transcom/de/tipps-tricks/ms-office/1999_powerpoint-zu-html.htm[/url] ein Makro gefunden womit ich eine komplette PowerpointPräsentation als Grafik exportieren kann.
Ich habe das Makro etwas angepasst, da in dem dortigen die Dateierweiterung nicht gespeichert wurde.
Nachstehend meine Änderung:
[i]Sub PPT_Folienexport()
BildBreite = 640
'Breite der zu speichernden Bilder in Pixeln
BildHoehe = 480
'Hoehe der zu speichernden Bilder in Pixeln
BildFormat = "gif"
'Bezeichnung des Export-Filters
'("jpg", "gif", "wmf", …)
Bildname = "Folie"
'Name der zu speichernden Bilder
With ActivePresentation
Bildname = .Path + "\" + Bildname
AnzSlides = .Slides.Count
For AktSlide = 1 To AnzSlides
FileName = Bildname + Format(AktSlide, "000") + "." + BildFormat
On Error Resume Next
.Slides(AktSlide).Export FileName, BildFormat, BildBreite, BildHoehe
If Err.Number <> 0 Then GoTo Abbruch
Next AktSlide
End With
MsgBox "Export beendet"
Exit Sub
Abbruch:
MsgBox "Export abgebrochen"
End Sub[/i]
Folgende Fragen ergeben sich für mich:
1. Wie müsste das Makro geändert werden, damit ich über eine Box den Pfad zum Speichern der Grafiken frei wählen kann? Optimal wäre es auch, wenn ich die Bildgröße über eine Box auswählen könnte.
2. Wie müsste das Makro geändert werden, sodass nur markierte Folien als Grafik gespeichert werden?
3. Wie kann ich das Makro - z. B. als Add-Ins - grundsätzlich in Powerpoint einbinden, sodass ich dieses Makro über einen Symbol aus der Symbolleiste in Powerpoint aus jeder beliebigen Präsentation aufrufen kann?
Es ist mir hier aufgefallen, dass es hier viele VBA-Spezialisten gibt.
Es wäre nett, wenn diese mir hier helfen könnten.
Besten Dank im voraus!
Lieben Gruß
SQ
Antwort 1 von StilleQuelle
Hallo,
eine Teillösung habe ich bereits.
So werden die markierten Folien in der vorgebenen Größe exportiert.
Sub PPTAuswahl_Folienexport()
BildBreite = 640
'Breite der zu speichernden Bilder in Pixeln
BildHoehe = 480
'Hoehe der zu speichernden Bilder in Pixeln
BildFormat = "gif"
'Bezeichnung des Export-Filters
'("jpg", "gif", "wmf", …)
Bildname = "Folie"
'Name der zu speichernden Bilder
With ActivePresentation
Bildname = .Path + "\" + Bildname
For Each AktSlide In ActiveWindow.Selection.SlideRange
FileName = Bildname + Format(AktSlide.SlideID, "000") + "." + BildFormat
On Error Resume Next
AktSlide.Export FileName, BildFormat, BildBreite, BildHoehe
If Err.Number <> 0 Then GoTo Abbruch
Next AktSlide
End With
MsgBox "Export beendet"
Exit Sub
Abbruch:
MsgBox "Export abgebrochen"
End Sub
Sub PrintSelectedSlideNames()
Dim sldTemp As Slide
For Each sldTemp In ActiveWindow.Selection.SlideRange
Debug.Print sldTemp.Name
Next
End Sub
eine Teillösung habe ich bereits.
So werden die markierten Folien in der vorgebenen Größe exportiert.
Sub PPTAuswahl_Folienexport()
BildBreite = 640
'Breite der zu speichernden Bilder in Pixeln
BildHoehe = 480
'Hoehe der zu speichernden Bilder in Pixeln
BildFormat = "gif"
'Bezeichnung des Export-Filters
'("jpg", "gif", "wmf", …)
Bildname = "Folie"
'Name der zu speichernden Bilder
With ActivePresentation
Bildname = .Path + "\" + Bildname
For Each AktSlide In ActiveWindow.Selection.SlideRange
FileName = Bildname + Format(AktSlide.SlideID, "000") + "." + BildFormat
On Error Resume Next
AktSlide.Export FileName, BildFormat, BildBreite, BildHoehe
If Err.Number <> 0 Then GoTo Abbruch
Next AktSlide
End With
MsgBox "Export beendet"
Exit Sub
Abbruch:
MsgBox "Export abgebrochen"
End Sub
Sub PrintSelectedSlideNames()
Dim sldTemp As Slide
For Each sldTemp In ActiveWindow.Selection.SlideRange
Debug.Print sldTemp.Name
Next
End Sub
Antwort 2 von StilleQuelle
Schade, die VBA-Spezialisten scheinen wohl alle in Urlaub zu sein.

