Страницы: 1
RSS
Макрос не открывает поврежденную книгу
 
Есть внешний файл, который после экспорта excelем всегда распознает как битый, мол, "Ошибка в части содержимого в книге такой-то. Выполнить попытку восстановления? Да/Нет". У меня макрос, который копипастит оттуда значения в другую книгу. Но работает он только после того, как я вручную нажму "Да, восстанавливай". Хочется чтобы макрос сам жал на "Да". Как это сделать?
 
Отключить лишние вопросы?
Application.DisplayAlerts = False
 
так? все равно метод open failed

Код
Sub FromExport()
    Application.DisplayAlerts = False
    ChDir "C:\Users\yartseva\Desktop"
    Workbooks.Open Filename:="C:\Users\yartseva\Desktop\export.xlsx"
 
Так попробуйте:

Код
Sub FromExport()
    On Error Resume Next: Err.Clear
    Dim WB As Workbook

    ' пробуем открыть файл штатно
    Set WB = Workbooks.Open(filename:="C:\Users\yartseva\Desktop\export.xlsx")

    If Err Then        ' если не получилось, - открываем в режиме восстановления
        Set WB = Workbooks.Open(filename:="C:\Users\yartseva\Desktop\export.xlsx", CorruptLoad:=xlRepairFile)
    End If
End Sub 
 
Игорь, спасибо огромное! вот оно,
Код
CorruptLoad:=xlRepairFile
, буду знать
Страницы: 1
Читают тему
Наверх