Не могу закрыть excel из VB

Программирование на Visual Basic for Applications
sanya
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 26.06.2003 (Чт) 9:04

Не могу закрыть excel из VB

Сообщение sanya » 26.06.2003 (Чт) 9:33

Ни чего не могу понять, в пошаговом режиме excel закрывается прекрасно, но при запуске программы exel висит открытым. Подскажите где ошибка

Set Ex = CreateObject("Excel.Application")
Ex.Workbooks.Open путь & "1.xls"
.
.
Ex.Workbooks("1.xls").SaveAs FileName: путь & "2.xls"
Ex.ActiveWorkbook.Close
Ex.Workbooks.Open путь & "11.xls"
.
.
Ex.Workbooks("11.xls").Close SaveChanges:=True
Ex.Quit
Set Ex = Nothing

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

Сообщение alibek » 26.06.2003 (Чт) 10:23

Скорее всего файл еще не успевает сохраниться к тому моменту, когда ты его закрываешь. Попробуй отключить фоновое сохранение (правда я не помню, как). Или сделай что-то сроде этого:
Код: Выделить всё
Ex.Workbooks("11.xls").Save
Do Until Ex.Workbooks("11.xls").Saved
DoEvents
Loop
Ex.Workbooks("11.xls").Close SaveChanges:=False
Ex.Quit
Lasciate ogni speranza, voi ch'entrate.

Vitaly1
Брехман
Брехман
 
Сообщения: 1578
Зарегистрирован: 30.12.2002 (Пн) 16:35
Откуда: Russia, Mosсow

Сообщение Vitaly1 » 26.06.2003 (Чт) 13:04

Sanya- к сожалению метод application.Quit не во все версиях Excel работает.

sanya
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 26.06.2003 (Чт) 9:04

Сообщение sanya » 26.06.2003 (Чт) 14:13

Задержка времени результата не приносит. Может есть другой способ закрыть excel? И еще, как закрыть программу с помощью API?

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 26.06.2003 (Чт) 14:16

Вот такой нехитрой функцией.



Private Declare Function TerminateProcess Lib "kernel32" Alias "TerminateProcess" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long

sanya
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 26.06.2003 (Чт) 9:04

Сообщение sanya » 26.06.2003 (Чт) 14:58

Тысяча извинений, но я не знаю API, но насколько я понимаю мне необходимо найти этот открытый процесс, а как?


Вернуться в VBA

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

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

    TopList