KB0209: Ich kann meine PowerPoint-Datei mit PowerPoint 2013 oder höher nicht reparieren
- Startseite
- Ressourcen
- Knowledge Base
- KB0209
Problem
Eine beschädigte PowerPoint-Datei kann nicht in PowerPoint repariert werden.
Erklärung
Die Reparatur von PowerPoint-Dateien schlägt fehl, wenn programmgesteuert auf Folien zugegriffen wird, bevor diese von PowerPoint repariert werden. Allerdings muss think-cell (wie andere Add-ins wahrscheinlich auch) auf Folien zugreifen, wenn die Datei geöffnet wird. Und für ein Add-in gibt es keine Möglichkeit, zu erkennen, dass eine Datei beschädigt ist.
Wir haben bereits eine Anfrage an Microsoft gestellt, aber bislang hat sich Microsoft noch nicht entschlossen, dieses 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 think-cell reproduzieren. Mehr lesen
Reproduktion ohne think-cell
Der Fehler kann auch ohne think-cell reproduziert werden, wenn ein beliebiger Code auf die beschädigten Folien zugreift, bevor die Reparatur abgeschlossen ist. In der folgenden Reproduktion ruft der PresentationOpen-Ereignishandler einen Code auf, der auf alle Folien zugreift, wenn die Datei geöffnet wird (d. h. vor der Reparatur).
- Öffnen Sie PowerPoint 2013 oder höher mit einer neuen, leeren Datei.
- In PowerPoint gehen Sie zu Insert > think-cell > Tools
> Deactivate think-cell.
- Drücken Sie Alt + F11, um Microsoft Visual Basic for Applications zu öffnen.
-
Fügen Sie diesen Code als Class Module hinzu und geben Sie ihm den Namen
cEventClass:Public WithEvents PPTEvent As Application Private Sub Class_Initialize() MsgBox "EventHandler is now active." End Sub Private Sub PPTEvent_PresentationOpen(ByVal pres As Presentation) On Error GoTo errHandle: Debug.Print "open file: " & pres.Name Dim i As Integer For i = 1 To pres.Slides.Count Debug.Print "Slide " & pres.Slides.Item(i).SlideNumber; " / " _ & pres.Slides.Count Next i Exit Sub errHandle: Debug.Print ("VBA Error: " & 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 active ****" End Sub - Drücken Sie im Präsentationsfenster von PowerPoint auf Alt + F8, um das Macro-Fenster zu öffnen.
- Run Sie das Initialize_Eventhandler-Makro.
- Öffnen Sie nun Ihre beschädigte PowerPoint-Datei und versuchen Sie, diese zu reparieren.
Lösung
Solange Microsoft diesen Fehler nicht behebt, können Sie als Workaround think-cell vorübergehend deaktivieren:
- think-cell in PowerPoint deaktivieren: Insert > think-cell > Tools
> Deactivate think-cell
- Öffnen Sie die beschädigte Datei, und reparieren Sie sie.
- think-cell in PowerPoint erneut aktivieren: Insert > think-cell > Activate