Экспорт и висящий excel.exe

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

Экспорт и висящий excel.exe

Сообщение Polaris » 17.04.2008 (Чт) 16:05

Доброго времени суток уважаемые форумчане..
столкнулся с такой проблемой.. искал ответ - не нашел.

есть необходимость экспорта данных из БД в Excel.

экспортирую - сохраняю на диск - открываю с диска - все хорошо.
но при закрытии документа процесс excel.exe продолжает висеть в диспетчере задач.


как мне открыть из кода xls файл, что бы при закрытии xls документа excel.exe из диспетчера тоже закрывался...?

После того, как закроешь программу excel.exe сам закрывается

gjghjc
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 659
Зарегистрирован: 13.10.2002 (Вс) 8:28
Откуда: БАЛАКЛАВА!!

Сообщение gjghjc » 17.04.2008 (Чт) 16:20

покажи код которым выгружаешь в Эксель.
Скорее всего ты не делаешь Application.Quit после выгрузки данных
Утро добрым не бывает!

Polaris
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 20.12.2007 (Чт) 16:57
Откуда: Krasnodar, Russia

Сообщение Polaris » 17.04.2008 (Чт) 16:24

Dim aEx As Excel.Application
Dim bEx As Excel.Workbook
Dim sEx As Excel.Worksheet


Set aEx = New Excel.Application
Set bEx = aEx.Workbooks.Add
Set sEx = bEx.Worksheets(1)

aEx.DisplayAlerts = False
aEx.Visible = False

bEx.Activate
sEx.Activate




(Макрос)

'сохраняем
bEx.SaveAs "C:\sprav\sprav" + tdata + ".xls"

'закрываем документ
Set tdate = Nothing
rsprint.Close
Set rsprint = Nothing
bEx.Close
aEx.Quit


Set sEx = Nothing
Set bEx = Nothing
Set aEx = Nothing

' открываем документ

Set aEx = GetObject(, "Excel.Application")

aEx.Visible = True
ChDir "C:\sprav"
Workbooks.Open FileName:="C:\sprav\sprav" + tdata + ".xls"

gjghjc
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 659
Зарегистрирован: 13.10.2002 (Вс) 8:28
Откуда: БАЛАКЛАВА!!

Сообщение gjghjc » 18.04.2008 (Пт) 9:10

Попробуй вместо этого
Код: Выделить всё
' открываем документ

Set aEx = GetObject(, "Excel.Application")

aEx.Visible = True
ChDir "C:\sprav"
Workbooks.Open FileName:="C:\sprav\sprav" + tdata + ".xls"

воспользоваться ShellExecute
Утро добрым не бывает!

Polaris
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 20.12.2007 (Чт) 16:57
Откуда: Krasnodar, Russia

Сообщение Polaris » 18.04.2008 (Пт) 13:38

Всем спасибо! Особенно Igor123
проблема решилась через использование таймера

gjghjc
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 659
Зарегистрирован: 13.10.2002 (Вс) 8:28
Откуда: БАЛАКЛАВА!!

Сообщение gjghjc » 18.04.2008 (Пт) 14:05

А можешь показать код?
Утро добрым не бывает!


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 27

    TopList