Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1444to1448
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
Inhaltsverzeichnis

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

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

314 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige