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

Forumthread: Powerpoint speichen und schließen

Powerpoint speichen und schließen
31.08.2017 16:05:42
Andrea
Hallo,
ich hab per VBA von einer Excel Datei ein Chart in Powerpoint eingefügt und möchte nun einfach nur die Powerpoint speichen und schließen. Ich bekommen es einfach nicht hin. Hab schon verschieden Sachen probiert. Vielen Dank für Eure Hilfe!
Mein Code bisher lautet:
Sub Vergleichvorjahr()
Dim PptProg As Object
ThisWorkbook.Worksheets("Vergleich Vorjahr").ChartObjects(1).CopyPicture
Set PptProg = CreateObject("Powerpoint.Application")
With PptProg
.Visible = True
.Presentations.Open Filename
.ActiveWindow.View.GotoSlide Index:=4
.ActiveWindow.Selection.SlideRange.Shapes(1).Select
.ActiveWindow.Selection.Unselect
.ActiveWindow.View.Paste
With .ActiveWindow.Selection.ShapeRange
.IncrementLeft 418.018
.IncrementTop 53.521
.LockAspectRatio = msoFalse
.ScaleWidth 0.405, msoFalse, msoScaleFromTopLeft
.ScaleHeight 0.592, msoFalse, msoScaleFromTopLeft
End With
End With
End Sub

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Powerpoint speichen und schließen
31.08.2017 16:29:43
Michael
Hallo!
Du öffnest zwar eine Präsentation, aber weist nur die PP-Anwendung selbst einem Objekt zu; weise auch die Präsentation einem Objekt zu
Set Pres = .Presentations.Open(Filename)
und dann so
Pres.Save 'Speichert die Präsentation
Pres.Close 'Schließt die Präsentation

PptProg.Quit 'Schließt die PP-Anwendung
LG
Michael
Anzeige
AW: Powerpoint speichen und schließen
31.08.2017 17:29:08
Andrea
Vielen Dank schon mal!
Es funktioniert leider nicht, weil angeblich kein Object da ist. Ich hab das hier einfach ans Ende geschrieben:
Set Pres = Presentations.Open("201708_Area Performance Review 2.0_Test 2017")
Pres.Save
Pres.Close
PptProg.Quit
Nein, so geht das natürlich nicht...
31.08.2017 17:36:47
Michael
Andrea,
...aber das hab ich so auch nicht empfohlen; egal, hab zu wenig Zeit um Dir das zu erklären - schau Dir doch einfach Nepumuks Beitrag an, er hat das in Deinen Code eingepflegt.
LG
Michael
Anzeige
AW: Powerpoint speichen und schließen
31.08.2017 16:34:54
Nepumuk
Hallo Andrea,
teste mal:
Sub Vergleichvorjahr()
    Dim PptProg As Object, PptPresentation As Object
    
    ThisWorkbook.Worksheets("Vergleich Vorjahr").ChartObjects(1).CopyPicture
    
    Set PptProg = CreateObject("Powerpoint.Application")
    With PptProg
        .Visible = True
        Set PptPresentation = .Presentations.Open(Filename)
        With PptPresentation
            With .Windows(1)
                .View.GotoSlide Index:=4
                .Selection.SlideRange.Shapes(1).Select
                .Selection.Unselect
                .View.Paste
                With .Selection.ShapeRange
                    .IncrementLeft 418.018
                    .IncrementTop 53.521
                    .LockAspectRatio = msoFalse
                    .ScaleWidth 0.405, msoFalse, msoScaleFromTopLeft
                    .ScaleHeight 0.592, msoFalse, msoScaleFromTopLeft
                End With
            End With
            Call .Save
        End With
        Call .Quit
    End With
    Set PptProg = Nothing
    Set PptPresentation = Nothing
End Sub

Gruß
Nepumuk
Anzeige
AW: Powerpoint speichen und schließen
31.08.2017 17:44:54
Andrea
Hi,sorry,hatte das zu spät gelesen.
Ich hab den Code von Nepumuk getestet und der funktioniert.
Super, vielen lieben Dank Euch beiden!
VG Andrea
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige