У меня есть .Сценарий VBS, похожий на этот, который проходит по папке и сохраняет заголовки слайдов PowerPoints
Dim InputFolder : InputFolder = "C:\........\"
Dim OutputFolder : OutputFolder = "C:\........\"
Dim ObjFolder : Set ObjFolder = CreateObject("Scripting.fileSystemObject").GetFolder(InputFolder)
Dim Extension : Extension = "PNG"
Dim PixelWidth : PixelWidth = 1024
Dim PixelHeight : PixelHeight = 768
Dim ObjPPT : Set ObjPPT = CreateObject("PowerPoint.Application")
Dim ObjSPresentation
Dim ObjSlide
For Each File In ObjFolder.Files
if (File.Type = "Microsoft PowerPoint Presentation") Then
' Open PPT
ObjPPT.Presentations.Open File
Set ObjPresentation = ObjPPT.ActivePresentation
' Select title slide
Set ObjSlide = ObjPresentation.Slides(1)
' Export slide
ObjSlide.Export OutputFolder & ObjPresentation.Name & "." & Extension, _
Extension, _
PixelWidth, _
PixelHeight
' Close PPT
ObjPresentation.Close
End If
Next
ObjPPT.Quit
Он работает до тех пор, пока не достигнет определенного файла, когда выдает ошибку:
C:\........\ppt.vbs(17,4) (null): Unspecified error
И когда я открываю презентацию, я получаю это диалоговое окно
PowerPoint found a problem with content in C:\broken.pptx.
PowerPoint can attempt to repair the presentation.
If you trust the source of this presentation, click Repair.
Ремонт работает нормально. Мой вопрос заключается в том, могу ли я каждый раз проверять скрипт на это и автоматически восстанавливать при необходимости. Необходимость перезапуска скрипта всякий раз, когда обнаружен поврежденный файл PPT, в некоторой степени противоречит цели автоматизации.