Как выгрузить из памяти Excel приложение?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Divinich
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 19.02.2005 (Сб) 11:23

Как выгрузить из памяти Excel приложение?

Сообщение Divinich » 08.04.2005 (Пт) 20:53

Ну, в общем, дело обстоит так, я открываю эксель забрасываю туда информацию, сохраняю файл, потом все как надо закрываю Workbooks обнуляю excel.application, а он все равно в памяти остается. в общем, подскажите как его выгрузить, а то когда хочешь сохранить второй раз программа вылетает именно из-за этого, может какие Апишные функции которые прекращают процесс???

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 09.04.2005 (Сб) 4:34

xl.quit?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Divinich
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 19.02.2005 (Сб) 11:23

Сообщение Divinich » 09.04.2005 (Сб) 10:05

quit не катит, прога все равно остается в памяти.

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 09.04.2005 (Сб) 22:03

Код: Выделить всё
Dim xApp as Excel.Application
Dim xWb as Workbook
Dim xSh as Worksheet
Set xApp = CreateObject("Excel.Application")
Set xWb = xApp.Workbooks.Add
Set xSh = xWb.Sheets(1)
'Работаем с листом и книгой
Set xSh = Nothing
xWb.Close
Set xWb = Nothing
xApp.Quit
Set xApp = Nothing

Александр80
Bonachón
Bonachón
 
Сообщения: 659
Зарегистрирован: 20.03.2004 (Сб) 23:50
Откуда: г.Москва

Сообщение Александр80 » 10.04.2005 (Вс) 20:59

Igor_123 правильно написал... :wink:

Код: Выделить всё
'выгружаем...
Set xSh = Nothing
Set xApp = Nothing
Set xWb = Nothing

OMEGUS
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 146
Зарегистрирован: 31.01.2005 (Пн) 11:40
Откуда: Санкт-Петербург

Сообщение OMEGUS » 11.04.2005 (Пн) 15:05

А вот так тоже покатит

Dim ExcExcel as Excel.Application

ExcExcel.Save 'сохраняем если надо

ExcExcel.Close 'закрываем

Divinich
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 19.02.2005 (Сб) 11:23

Сообщение Divinich » 12.04.2005 (Вт) 19:09

просто у меня такая фигня, я делаю через одну переменную excel.application, и все манипуляции через эту перменную перевожу. В конце пишу:

exc.workbooks.close
exc.quit ' ну это приложение excel
set exc = nothing

и все равно не выгружается.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 12.04.2005 (Вт) 19:57

Скорее всего у тебя инстанс Excel показывает вопрос "Сохранить изменения", который ты не видишь, т.к. он невидимый.
Сделай его видимым перед закрытием, увидишь, чем вызван глюк.
Lasciate ogni speranza, voi ch'entrate.

Divinich
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 19.02.2005 (Сб) 11:23

Сообщение Divinich » 14.04.2005 (Чт) 15:10

Сделал видимым, все нормально делается, окно закрывается, сохраняется все путем, но эксель все равно в памяти остается.

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 15.04.2005 (Пт) 10:50

Ну ведь чудес не бывает :D :?:

Divinich
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 19.02.2005 (Сб) 11:23

Сообщение Divinich » 15.04.2005 (Пт) 17:51

Спасибо всем, ошибку нашел, забыл поставить точку :)

with exc
range("A3").value="aaaa"
end with

надо было точку ставить перед каждым обращением к методу, блин, а так он их глобальными воспринимает, поэтому при повторной попытке записать что-то в эксель выскакивает ошибка. Блин столько мудохался, из-за такой херни.

Все равно всем спасибо.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 33

    TopList