Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Excel über PPT VBA schließen und nicht speichern

Excel über PPT VBA schließen und nicht speichern
26.08.2015 12:29:48
Virginie
Hallo zusammen,
ich habe ein Problem das mich schon des längeren nervt. Meine Ideen helfen mir nicht mehr weiter und ehrlich gesagt weiß ich auch nicht was ich noch ausprobieren könnte...
Ich habe eine PPT-Datei mit vielen Pivot-Charts die automatisch aktualisiert werden. Da dies an die 200 Grafiken sind lasse ich die Excel-Files (sind 5 and der Zahl) mit einem Makro über PPT einmalig öffnen dann braucht PPT nämlich nicht so lange zum Aktualisieren (mit öffnen 2min, ohne öffnen 13min).
Jetzt möchte ich, dass nach der Aktualsierung die Excelfiles auch wieder geschlossen werden. Das bekomme ich alles hin aber leider fragt mich Excel dann ob ich speichern möchte und das bekomme ich einfach nicht weg. Egal ob ich ThisWorkbook.Saved=False oder Application.DisplayAlerts = False verwende ich bekomme es einfach nicht hin.
Könnt ihr mir da weiterhelfen?
Der Code sieht wie folgt aus (verkürzte Version mit nur einem Excel das geöffnet wird):

Sub Excelfiles_öffnenundaktualisieren()
' gewisse Files öffnen
Dim ExcelSheet As Object
Set ExcelSheet = CreateObject("Excel.Application")
ExcelSheet.Application.Visible = False
ExcelSheet.Application.Workbooks.Open FileName:=ActivePresentation.Path & "\rev1.xlsm",  _
UpdateLinks _
:=0
' alle Diagramme aktualisieren
Dim PPT_1 As PowerPoint.Application
Set PPT_1 = CreateObject("Powerpoint.Application")
Dim PPT As PowerPoint.Presentation
Set PPT = PPT_1.ActivePresentation
Dim i As Long
Dim s As Long
For i = 1 To PPT.Slides.Count
For s = 1 To PPT.Slides(i).Shapes.Count
If PPT.Slides(i).Shapes(s).Type = msoLinkedOLEObject Then
PPT.Slides(i).Shapes(s).LinkFormat.AutoUpdate = ppUpdateOptionAutomatic
End If
Next s
Next i
PPT.UpdateLinks
For i = 1 To PPT.Slides.Count
For s = 1 To PPT.Slides(i).Shapes.Count
If PPT.Slides(i).Shapes(s).Type = msoLinkedOLEObject Then
PPT.Slides(i).Shapes(s).LinkFormat.AutoUpdate = ppUpdateOptionManual
End If
Next s
Next i
' Mistding schließen
ExcelSheet.Application.Quit
End Sub

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel über PPT VBA schließen und nicht speichern
26.08.2015 19:14:28
Luschi
Hallo Virginie,
bei mir klappt das immer so:

'keine Umlaute für Prozedur-Bezeichnungen
Sub ExcelFiles_OeffnenUndAktualisieren()
' gewisse Files öffnen
Dim ExcelApp As Object
Dim ExcelWb As Object
Set ExcelApp = CreateObject("Excel.Application")
ExcelApp.Visible = False
'Excel-Mappe schreibgeschützt öffnen
Set ExcelWb = ExcelApp.Workbooks.Open(Filename:=ActivePresentation.Path & "\rev1.xlsm", _
UpdateLinks:=0, ReadOnly:=True)
' alle Diagramme aktualisieren
'Dein weitere Vba-Code
' Mistding schließen
ExcelWb.Close SaveChanges:=False
Set ExcelWb = Nothing
ExcelApp.Quit
Set ExcelApp = Nothing
End Sub
Gruß von Luschi
aus klein-Paris
Anzeige
;

Forumthreads zu verwandten Themen

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