لا يمكنني إصلاح ملف PowerPoint الخاص بي باستخدام PowerPoint 2013 & 2016
المشكلة
يفشل برنامج PowerPoint في إصلاح ملفات PowerPoint التالفة.
التفسير
يفشل إصلاح ملفات PowerPoint في حالة الوصول إلى الشرائح برمجيًا قبل أن يقوم برنامج PowerPoint بإصلاحها. بالرغم من ذلك، يجب أن يقوم think-cell وعلى الأرجح كذلك الوظائف الإضافية الأخرى بالوصول إلى الشرائح عند فتح الملف، ولا تستطيع أي وظيفة إضافية على الإطلاق معرفة ما إذا كان الملف تالفًا.
لقد قدمنا طلب دعم إلى شركة Microsoft، ولكن لم تقرر Microsoft حتى الآن إصلاح المشكلة. إذا كان لدى شركتك عقد دعم من Microsoft Office وكنت تريد الاتصال بشركة Microsoft لطلب إصلاح، يمكنك الرجوع إلى رقم حالة Microsoft 115040112590053. يمكن تكرار الخطأ دون استخدام think-cell.
تكرار الخطأ دون استخدام think-cell
يمكن تكرار الخطأ دون استخدام think-cell في حالة قيام أي تعليمات برمجية بالوصول إلى الشرائح التالفة قبل انتهاء عملية الإصلاح. في التكرار التالي، يستدعي معالج الأحداث PresentationOpen التعليمات البرمجية التي تقوم بالوصول إلى كل الشرائح عند فتح الملف، أي قبل عملية الإصلاح.
- افتح PowerPoint 2013 أو 2016 مع ملف فارغ جديد.
- في PowerPoint، انتقل إلى Insert > think-cell > Tools > Deactivate think-cell.
- اضغط على المفتاحين Alt+F11 لفتح Microsoft Visual Basic for Applications.
-
قم بإضافة هذه التعليمات البرمجية بمثابة وحدة نمطية للفئة وتسميتها
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
-
قم بإضافة هذه التعليمات البرمجية بمثابة وحدة نمطية:
Dim cPPTObject As New cEventClass Sub Initialize_Eventhandler() Set cPPTObject.PPTEvent = Application Debug.Print "**** EventHandler active ****" End Sub
- في نافذة العرض التقديمي في PowerPoint، اضغط على المفتاحين Alt+F8 لفتح النافذة وحدات ماكرو
- قم بتشغيل وحدة الماكرو Initialize_Eventhandler.
- والآن افتح ملف PowerPoint التالف لديك وحاول إصلاحه.
لا تحدث هذه المشكلة مع Microsoft Office 2010.
الحل
لحين قيام شركة Microsoft بإصلاح هذا الخطأ، يمكنك إلغاء تنشيط think-cell مؤقتًا كحل بديل:
- إلغاء تنشيط think-cell في PowerPoint: Insert > think-cell > Tools > Deactivate think-cell
- افتح الملف التالف وقم باصلاحه
- إعادة تنشيط think-cell في PowerPoint: إدراج ← think-cell ← تنشيط