powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / В списке задач остается Excel
5 сообщений из 5, страница 1 из 1
В списке задач остается Excel
    #32430872
PaulB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет! Моя программа в модуле Access97 создает отчет в Excel97. Три листа и лист с 4-мя графиками создаются без ошибок. Я закрываю Excel, затем при окрытии папки Windows98 зависает, а продолжает работать после удаления из списка задач Excel, которая остается в памяти, хотя я закрыл Excel. Другие мои программы не создают такого эффекта. Программа довольно большая, все переменные описаны, ссылка на библиотеку excel 8.0 object library есть. Попытки найти участок кода, приводящий к такому эффекту, пока ни к чему не привели. Прошу совета, заранее всем СПАСИБО!
...
Рейтинг: 0 / 0
В списке задач остается Excel
    #32430898
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Открываем ексель
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
    ' Объявление объектов Excel
            Dim xl As New Excel.Application
            Dim xl_wb As New Excel.Workbook
            Dim xl_sh As New Excel.Worksheet
            ' Присвоение значений объектам Excel
            Set xl = CreateObject( "Excel.Application" )
            Set xl_wb = xl.Workbooks.Open([файл])
            Set xl_sh = xl_wb.Worksheets( 1 )
            ' выполняем действия
            ' закрываем
        xl_wb.SaveAs [файл], xlExcel9795, , , , , , xlLocalSessionChanges
        xl.Quit
        
    Set xl_sh = Nothing
    Set xl_wb = Nothing
    Set xl = Nothing


После этого ексель в памяти не висит. Обращение ко всем объектам ексель должно происходить в явном виде, т.е. после переменных типа лист. книга, приложение...
...
Рейтинг: 0 / 0
В списке задач остается Excel
    #32430956
PaulB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответ, но это не помогло. Обратите внимание, что пользователь закрывает Excel, а не программа. Она открывает уже существующий файл: Set oApp = GetObject(, "Excel.Application")
oApp.Visible = True
Затем создает отчет,обновляет графики и завершает работу. Пользователь сам решает, что ему делать с книгой и приложением. Программа где-то некорректно работает с объектами Excel, но где я понять не могу. Другие, аналогичные программы прекрасно работают без такого эффекта. Если Вы сталкивались с такой проблемой, прошу помощи, заранее СПАСИБО!
...
Рейтинг: 0 / 0
В списке задач остается Excel
    #32430974
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обращение ко всем объектам ексель должно происходить в явном виде - через лбъявленные переменные. Везде и всегда, т.е. при переносе текста из макрорекордера екселя (если так лделается) нужно его подправить на предмет обращения к объектам и их свойствам.
Можно и не выполнять выход из Екселя программно (в некоторых местах у нас так и происходит), т.е. сделать приложение видимым и предоставить его пользователю, но обнулить переменные нужно.
...
Рейтинг: 0 / 0
В списке задач остается Excel
    #32431003
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не знаю поможет тебе или нет,
попробуй :
сначала запускать эксель через shell
а потом цеплять его как объект - может поможет


Call Shell(Excelpath & " " & filepath, vbMaximizedFocus)
Set EXL = GetObject(filepath)
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / В списке задач остается Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]