powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Зыкрытие объекта Excel.Application из VB6. Остается висеть в памяти..
7 сообщений из 7, страница 1 из 1
Зыкрытие объекта Excel.Application из VB6. Остается висеть в памяти..
    #36034823
fghjfghj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
День добрый. Тема, наверное, уже обсуждалась много раз. Но мне, увы, работающего решения найти не удалось. Вот код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Sub main()
Dim xlApp                  As Excel.Application
Dim xlWb                   As Excel.Workbook
Dim xlWs                   As Excel.Worksheet

Set xlApp = New Excel.Application
Set xlWb = xlApp.Workbooks.Open(App.Path & "\FILE.xls")
Set xlWs = xlWb.Worksheets( 1 )

    xlApp.Visible = False
    xlApp.ScreenUpdating = False
    xlApp.Calculation = xlCalculationManual

    xlApp.ActiveWorkbook.Close False
    xlApp.Quit
Set xlWs = Nothing
Set xlWb = Nothing
Set xlApp = Nothing

End Sub
На строке Set xlApp = New Excel.Application появляется процесс в диспетчере задач - да так там и остается..
Прикладываю пример.
...
Рейтинг: 0 / 0
Зыкрытие объекта Excel.Application из VB6. Остается висеть в памяти..
    #36035092
Фотография qwrqwr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fghjfghj, у Вас же есть переменная с объектом Workbook - через неё и закрывайте
Код: plaintext
1.
    xlWb.Close False
    xlApp.Quit
1. xlApp.Visible = False - это не нужно, т.к. это поведение по-умолчанию для New Excel.Application
2. когда Visible = False, то обращение к ActiveWorkbook может быть некорректным - по-видимому оно и глючит
...
Рейтинг: 0 / 0
Зыкрытие объекта Excel.Application из VB6. Остается висеть в памяти..
    #36035115
fghjfghj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
qwrqwr, спасибо за уточнения.
xlApp.ScreenUpdating = False стало быть тоже лишне?

Написал как вы сказали - проблема остается.
...
Рейтинг: 0 / 0
Зыкрытие объекта Excel.Application из VB6. Остается висеть в памяти..
    #36035158
Фотография qwrqwr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fghjfghjНаписал как вы сказали - проблема остается.ну тогда не знаю
вот практически такой же код у меня отрабатывает, корректно закрывая xlApp
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Sub main()
Dim xlApp As Excel.Application
Dim xlWb As Excel.Workbook
Dim xlWs As Excel.Worksheet

    Set xlApp = New Excel.Application
    Set xlWb = xlApp.Workbooks.Open("C:\FILE.xls")
    Set xlWs = xlWb.Worksheets( 1 )

    xlApp.ScreenUpdating = False
    xlApp.Calculation = xlCalculationManual

    xlWb.Close False
    xlApp.Quit
    Set xlWs = Nothing
    Set xlWb = Nothing
    Set xlApp = Nothing
End Sub
смысла в этом коде никакого - но это ведь только пример? верно?
а в реальном коде ScreenUpdating = False может будет и к месту, не знаю...
...
Рейтинг: 0 / 0
Зыкрытие объекта Excel.Application из VB6. Остается висеть в памяти..
    #36035301
fghjfghj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тот же код работает не так =(
Видео
...
Рейтинг: 0 / 0
Зыкрытие объекта Excel.Application из VB6. Остается висеть в памяти..
    #36036746
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fghjfghj, попробуйте так.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Sub main()
    Dim xlApp As Excel.Application
    Dim xlWb As Excel.Workbook
    Dim xlWs As Excel.Worksheet

    Set xlApp = New Excel.Application
    Set xlWb = xlApp.Workbooks.Open("C:\FILE.xls")
    Set xlWs = xlWb.Worksheets( 1 )

    xlApp.ScreenUpdating = False
    xlApp.Calculation = xlCalculationManual

    Set xlWs = Nothing
    xlWb.Close False
    Set xlWb = Nothing
    xlApp.Quit
    Set xlApp = Nothing
End Sub
...
Рейтинг: 0 / 0
Зыкрытие объекта Excel.Application из VB6. Остается висеть в памяти..
    #36036863
fghjfghj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkodor, у меня не работает, однако, все нормально закрывается на проверенных мною нескольких других машинах. Я думаю - проблема в моем EXCEL или в недоброкачественных надстройках к нему.

Спасибо за ответы
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Зыкрытие объекта Excel.Application из VB6. Остается висеть в памяти..
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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