Я пытаюсь сделать так, чтобы файл Excel не оставался открытым, если приложение Word, которое собирает данные из него с помощью макроса, неожиданно завершает работу.
Макрос обрабатывает большинство ошибок, используя приведенный ниже код, но яВы хотите, чтобы файл Excel не оставался открытым, несмотря на необработанное событие.Таким событием может быть пользователь, закрывающий документ word из диспетчера задач во время работы макроса.
Public Function GatherDataFromExcel(x) As Collection
On Error GoTo CloseExcel
Dim path_file_excel As String
path_file_excel = "\path to file\file.xlsx"
Dim objXL As Object ' Excel.Application
Dim objBook As Object ' Excel.Workbook
Set objXL = CreateObject("Excel.Application")
On Error Resume Next
Set objBook = objXL.Workbooks.Open(path_file_excel)
On Error Resume Next
'Code that gathers data and returns that data from the function
CloseExcel:
If Not objBook Is Nothing Then
objBook.ActiveWorkbook.Close
objBook.Close
Set objBook = Nothing
If Not objXL Is Nothing Then
Set objXL = Nothing
End If
End If
End Function
Я закрыл документ word в середине выполнения, чтобы проверить, и действительно, файл excel остается открытым открытым,Есть ли способ предотвратить это?