powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Закрытие приложения
8 сообщений из 8, страница 1 из 1
Закрытие приложения
    #33239431
Serg841
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Работаю с другим приложением (Excel)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Dim xlApp As Object     
Dim xlWkb As Object     

Set xlApp = GetObject("", "Excel.Application")
    
    Set xlWkb = xlApp.workbooks.Open("filename")

...


Set xlApp = Nothing

Но приложение остается в памяти.
Как выгрузить его из памяти?
...
Рейтинг: 0 / 0
Закрытие приложения
    #33239443
LeonM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Set xlApp = Nothing "убило" ссылку в программе, о чем внешнее приложение уже никогда не узнает. Quit!
...
Рейтинг: 0 / 0
Закрытие приложения
    #33239575
Serg841
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LeonMSet xlApp = Nothing "убило" ссылку в программе, о чем внешнее приложение уже никогда не узнает. Quit!
написал в коде xlApp.Quit
Ничего не изменилось приложение Excel.exe по-прежнему висит в процессах в диспетчере задач Windows.
...
Рейтинг: 0 / 0
Закрытие приложения
    #33239620
LeonM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Это ранее запущеный процесс (наиболее вероятно)
2. Закройте рабочую книгу и после этого завершите приложение (возможно, Вы не видите вопрос о сохранении файла)
3. "Убейте" ссылку на Excel.Application
...
Рейтинг: 0 / 0
Закрытие приложения
    #33240325
Serg841
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема оказалась не в том, что я думал. При работе только с книгой все работает и приложение из памяти выгружается. Но при выполнение следующего фрагмента кода, где необходимо данные из книги Excel поместить в таблицу в Access, приложение Excel все равно остается в памяти.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
Dim xlApp As Object     
Dim xlWkb As Object     

smdbname = "D:\proba.mdb"
f_name = "Dan_009"

Set conn = CreateObject("ADODB.Connection")
conn.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & smdbname & ";User ID=Admin;Password=;Extended Properties=")

Set xlApp = GetObject("", "Excel.Application")
Set xlWkb = xlApp.workbooks.Open("D:\Dan_009.xls")

For i =  1  To xlWkb.sheets.Count
    If InStr(LCase(xlWkb.sheets(i).Name), LCase("prep")) <>  0  Then
        xlname = xlWkb.sheets(i).Name
    End If
Next i

On Error Resume Next
   conn.Execute "DELETE * FROM " & f_name
   conn.Execute "create table " & f_name & " (summa double, prep char (255), klass char(255)," & _
             "uid double, ne_l char(255), drug char(255), form char(255), id_divider double)"

SQL = "INSERT INTO " & f_name & " IN '" & smdbname & "' " & _
      "SELECT summa,prep,klass,uid,ne_l,drug,form,id_divider " & _
      "FROM [" & xlname & "$] IN 'D:\Dan_009.xls'[EXCEL 8.0;HDR=yes;IMEX=1];"
      conn.Execute SQL, , adExecuteNoRecords

xlApp.workbooks.Close
xlApp.quit
Set xlApp = Nothing
conn.Close
Set conn = Nothing
MsgBox "Данные скопированы!"
...
Рейтинг: 0 / 0
Закрытие приложения
    #33240416
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если вот в таком порядке?
Код: plaintext
1.
2.
3.
4.
conn.Close
Set conn = NothingxlApp.workbooks.Close
xlApp.quit
Set xlApp = Nothing
...
Рейтинг: 0 / 0
Закрытие приложения
    #33240510
Serg841
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MelkiadesА если вот в таком порядке?
Код: plaintext
1.
2.
3.
4.
5.
conn.Close
Set conn = Nothing
xlApp.workbooks.Close
xlApp.quit
Set xlApp = Nothing

Все равно остается в памяти.
...
Рейтинг: 0 / 0
Закрытие приложения
    #33245370
Serg841
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Наконец-то удалось получить нужный резалт.
Если Excel убить до использования его в запросе, то все нормально. И запрос выполняется и Excel из памяти исчезает.

Спасибо всем кто помогал разбираться с проблемой!
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Закрытие приложения
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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