KB0209: Ich kann meine PowerPoint-Datei mit PowerPoint 2013 oder höher nicht reparieren
- Startseite
- Ressourcen
- Knowledge Base
- KB0209
Problem
PowerPoint kann eine beschädigte PowerPoint-Datei nicht reparieren.
Erläuterung
Das Reparieren von PowerPoint-Dateien schlägt fehl, wenn vor der Reparatur durch PowerPoint programmgesteuert auf Folien zugegriffen wird. thinkcell und höchstwahrscheinlich auch andere Add-Ins müssen jedoch beim Öffnen der Datei auf Folien zugreifen, und ein Add-In kann nicht erkennen, dass eine Datei beschädigt ist.
Wir haben bei Microsoft einen Fall eröffnet, aber bisher hat Microsoft nicht entschieden, das Problem zu beheben. Wenn Ihr Unternehmen mit Microsoft einen Servicevertrag für den Office-Support abgeschlossen hat und Sie sich wegen einer Lösung an Microsoft wenden möchten, geben Sie bitte folgende Microsoft-interne Fallnummer an: 115040112590053. Der Fehler lässt sich ohne thinkcell reproduzieren. Mehr lesen
Reproduktion ohne thinkcell
Der Fehler lässt sich ohne thinkcell reproduzieren, wenn ein Code auf die beschädigten Folien zugreift, bevor die Reparatur abgeschlossen ist. In der folgenden Reproduktion ruft der PresentationOpen-Ereignishandler beim Öffnen der Datei Code auf, der auf alle Folien zugreift, also vor der Reparatur.
- Öffnen Sie PowerPoint 2013 oder höher mit einer neuen leeren Datei.
- Gehen Sie in PowerPoint zu Insert > thinkcell > Tools
> Deactivate thinkcell.
- Drücken Sie Alt + F11, um Microsoft Visual Basic for Applications zu öffnen.
-
Fügen Sie diesen Code als Class Module hinzu und nennen Sie ihn
cEventClass:Public WithEvents PPTEvent As Application Private Sub Class_Initialize() MsgBox "EventHandler ist jetzt aktiv." End Sub Private Sub PPTEvent_PresentationOpen(ByVal pres As Presentation) On Error GoTo errHandle: Debug.Print "Datei öffnen: " & pres.Name Dim i As Integer For i = 1 To pres.Slides.Count Debug.Print "Folie " & pres.Slides.Item(i).SlideNumber; " / " _ & pres.Slides.Count Next i Exit Sub errHandle: Debug.Print ("VBA-Fehler: " & Err.Number & " " & Err.Description) & vbCr End Sub -
Fügen Sie diesen Code als Module hinzu:
Dim cPPTObject As New cEventClass Sub Initialize_Eventhandler() Set cPPTObject.PPTEvent = Application Debug.Print "**** EventHandler aktiv ****" End Sub - Drücken Sie im PowerPoint-Präsentationsfenster Alt + F8, um das Fenster Macro zu öffnen
- Führen Sie das Makro Initialize_Eventhandler mit Run aus.
- Öffnen Sie nun Ihre beschädigte PowerPoint-Datei und versuchen Sie, sie zu reparieren.
Lösung
Bis Microsoft diesen Fehler behebt, können Sie thinkcell vorübergehend als Workaround deaktivieren:
- Deaktivieren Sie thinkcell in PowerPoint: Insert > thinkcell > Tools
> Deactivate thinkcell
- Öffnen Sie Ihre beschädigte Datei und reparieren Sie sie.
- Aktivieren Sie thinkcell in PowerPoint wieder: Insert > thinkcell > Activate