Интересные и полезные статьи по работе с Excel и VBA
можно найти в разделе ХИТРОСТИ
On Error Resume Next
appExcel.Workbooks.Open fullPath
If Err.Number <> 0 Then
newName = "ПОДОЗРИТЕЛЬНЫЙ_ФАЙЛ_" & fileName
fso.MoveFile fullPath, folderPath & newName
Err.Clear
Else
appExcel.ActiveWorkbook.Close
End Ifпопробуйте вот такой:On Error Resume Next
set wb = Nothing
set wb = appExcel.Workbooks.Open(fullPath)
If wb is Nothing Then
newName = "ПОДОЗРИТЕЛЬНЫЙ_ФАЙЛ_" & fileName
fso.MoveFile fullPath, folderPath & newName
Err.Clear
Else
ws.Close 0
End IfИ где-нибудь вверху добавьте объявление:Dim wb As ObjectSub ОткрытьИПроверитьФайлы()
Dim fso As Object
Dim folderPath As String
Dim fileName As String
Dim fullPath As String
Dim i As Integer
Dim files() As String
Dim appExcel As Object
Dim newName As String
folderPath = "C:C:\Users\Da!Rosa\Desktop\BM"
Set fso = CreateObject("Scripting.FileSystemObject")
fileName = Dir(folderPath & "*.*")
Set appExcel = CreateObject("Excel.Application")
appExcel.Visible = False '
Do While fileName <> ""
fullPath = folderPath & fileName
On Error Resume Next
appExcel.Workbooks.Open fullPath
If Err.Number <> 0 Then
newName = "ПОДОЗРИТЕЛЬНЫЙ_ФАЙЛ_" & fileName
fso.MoveFile fullPath, folderPath & newName
Err.Clear
Else
appExcel.ActiveWorkbook.Close
End If
fileName = Dir
Loop
appExcel.Quit
Set fso = Nothing
Set appExcel = Nothing
MsgBox "Проверка завершена.", vbInformation
End Sub