Я пытаюсь перебрать все файлы в папке, открыть их и удалить информацию о документе.У меня возникают проблемы при работе с файлами, которые не могут быть открыты или когда они открываются, всплывают сообщения об отключении макросов.Я попытался решить эту проблему, используя возобновление ошибки далее и переход к ошибке 0. Но затем я получаю сбой во время выполнения, потому что мой объект рабочей книги (wb) не был установлен, когда я пытался закрыть файлы, которые открылись.
Я прочитал документацию «При появлении ошибки далее» и «При ошибке перейти к 0», но я не верю, что я правильно их здесь использую.Спасибо за любую помощь, спасибо.
Option Explicit
Sub test_Scrubber_New()
Dim directory As String, fileName As String, i As Variant, wb As Workbook
Application.DisplayAlerts = False
Application.ScreenUpdating = False
'directory = "C:\Users\bayli\Desktop\Files for Testing\"
directory = "C:\Users\bayli\Desktop\excel files\"
fileName = Dir(directory & "*.xl??")
i = 0
Do While fileName <> ""
On Error Resume Next
Set wb = Workbooks.Open(directory & fileName)
On Error GoTo 0
'remove info
ActiveWorkbook.RemoveDocumentInformation (xlRDIAll)
wb.Close True
i = i + 1
fileName = Dir()
Application.StatusBar = "Files Completed: " & i
Loop
Application.StatusBar = False
Application.ScreenUpdating = True
Application.DisplayAlerts = True
MsgBox "Complete"
End Sub
Я обновил свой код, добавив в него следующее: Если не wb, то ничегоОбновление ссылок.Если я нажимаю «Не обновлять», мой код продолжает работать по мере необходимости, но есть способ решить эту проблему.Я перебираю более 5 тыс. Файлов, так что вы можете себе представить, что это займет некоторое время.Время, которое уходит на это, не является проблемой, но в настоящее время я сижу здесь, и мне приходится несколько раз нажимать «не обновлять».Я думал, что Application.DisplayAlerts = False предотвратит эти всплывающие окна, однако это не так.