Как закончить закрытие открытого файла excel при ошибке?

Я использую файл dos .bat для непрерывного запуска файла .vbs … Если возникает какая-либо ошибка, командный файл снова запускает vbscript, и он продолжается. Скрипт подключается через Интернет к сайту для выполнения некоторых вызовов api. Теперь, когда есть проблема с соединением или любая другая ошибка, элемент управления выходит из скрипта, сохраняя файл excel открытым. Таким образом, многие файлы excel открываются при каждой ошибке … Код выглядит следующим образом … пожалуйста, сообщите мне, как закрыть файл excel при ошибке, а затем выйти из скрипта изящно.

'{{{{Some coding}}}} dim objExcel, objWorkbook, objRange Set objExcel = CreateObject("Excel.Application") Set objWorkbook = objExcel.Workbooks.Open("C:\temp.xlsx") objExcel.Visible = True '{{{{Some coding}}}} objExcel.Cells(xlrow, 3).Value="Test" objExcel.Cells(xlrow, 3).Select objExcel.Activecell.Show '{{{{Some coding}}}} objExcel.Workbooks(1).save objExcel.Workbooks(1).close objExcel.Quit Set objExcel = Nothing Set objWorkbook = Nothing WScript.Quit 

заранее спасибо

Один из возможных подходов – обернуть обработку Excel в пользовательский класс:

 Class Excel Private xl Private Sub Class_Initialize Set xl = CreateObject("Excel.Application") End Sub Private Sub Class_Terminate For Each wb In xl.Workbooks wb.Saved = True 'discard unsaved changes wb.Close 'close workbook Next xl.Quit 'quit Excel End Sub Public Function OpenWorkbook(filename) Set OpenWorkbook = xl.Workbooks.Open(filename) End Function Public Function NewWorkbook Set NewWorkbook = xl.Workbooks.Add End Function Public Property Get Workbooks Set Workbooks = xl.Workbooks End Property End Class 

Процедура Class_Terminate автоматически вызывается всякий раз, когда экземпляр класса уничтожается. Таким образом, вы можете автоматически закрыть открытые книги и выйти из Excel.

Класс можно использовать следующим образом:

 Set xl = New Excel Set wb = xl.OpenWorkbook("C:\path\to\your.xlsx") ... wb.Close 
  • VBA Excel Toggle Button "Latching"
  • Скопируйте определенные строки из excel на основе определенного значения ячейки
  • Чтение файла excel с помощью ActiveX
  • Как заполнить таблицу html данными из базы данных и файла xlsx с помощью ASP Classic
  • Сообщение «Файл в использовании», останавливающийся за один раз в Visual Basic Excel Script
  • Excel Установка переменной как
  • Установить расположение листа, изменить размер и изменить положение в Excel
  • Удаление дублирующегося значения из файла excel с помощью vbs
  • Несоответствие типов данных в выражении критериев при запросе файла excel с использованием vbscript
  • VBS или VBA для нескольких файлов Excel?
  • Excel Microsoft.ACE.OLEDB.12.0 Соединение для просмотра связанного листка Microsoft Excel потеряно
  • Давайте будем гением компьютера.