Добрый день.
Такая проблема. Есть код в VB6, который открывает файл Excel, считывает данные в память (массив), закрывает открытый файл, обрабатывает данные, заново открывает новый файл в Excel, переносит в него результат, сохраняет этот файл под оригинальным названием и закрывает его. Все это делается через раннее связывание. А именно: объявлена публичная переменная
Public objExcel As Excel.Application
каждое открытие сопровождается
Set objExcel = New Excel.Application
и каждое закрытие -
objExcel.Quit
и
Set objExcel = Nothing
Я мониторил через диспетчера Windows появление и закрытие процесса EXCEL. Если при первом открытии и чтении файла он аккуратно открывается, файл считывается и процесс EXCEL закрывается, то во второй раз, когда создается и сохраняется файл с результатами, процесс открывается, файл сохраняется, код аккуратно проходит через инструкции
objExcel.Quit
и
Set objExcel = Nothing
но процесс EXCEL сохраняется!!! Причем при дублировании
objExcel.Quit
и
Set objExcel = Nothing
появляется ошибка, потому как VB6 считает, что все уже закрыто, переменная пуста.
Что сделать, чтобы процесс Excel аккуратно выгружался после сохранения файла с результатами?
Спасибо.