Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ошибка при закрытии книги в Excel [D5, Win95/98]


Евг ©   (2005-01-24 06:30:00) 

Всем привет!
У меня следующая проблема:
с помощью следующего кода я получаю доступ к Excel, открываю нужную книгу и нужные страницы. Передаю туда данные и запускаю макросы, которые
выполняют некоторые действия с данными и оформляют итог этих манипуляций, как мне надо.

GetDir(0,path);
XL:= GetActiveOleObject('Excel.Application');
XL.DisplayAlerts := false;
XL.Visible:=false;
XL.WorkBooks.Open(path + '\report\Форма2.xls');
XL.Worksheets[1].activate;
...
XL.Worksheets[2].activate;
...
XL.run('add_st');
XL.Visible:=true;

В макросе который я за пускаю есть строка (ActiveWorkbook.close), которая должна закрыть эту книгу. Макрос отрабатывает все выполняет закрывает эту книгу, но потом выдает ошибку:

Project "имя проекта" raised exception class EOLeException with message 'OLEerror 800A9c68'. Process stopped. Use Step or Run to continue.

И есть тока одна кнопка 'OK', после ее нажатия и нажатия кнопки Run
выдается сообщение:

OLEerror 800a9c68

и так же доступна одна кнопка 'OK'. После ее нажатия проект выполняется дальше.

ПЛИЗ люди помогите с этой ошибкой разобраться!!!
Возможно это связано, как то с переменной которая связана с книгой(XL).

P.S.
В Excel открыта еще одна книга, ее закрывать не надо, и не надо закрывать весь Excel.
И еще когда запускаю макрос из Excel без делфи все нормально


Евг   (2005-01-25 05:22:00) [1]

Всем спасибо


saNat   (2005-01-24 14:12:00) [2]

Windows(nam).Activate- это вроде активация книги с именем, хранящимся в nam. Тогда эта книга может быть закрыта откуда и ошибка при обращении.

С уважением, ЕВА


Евг   (2005-01-24 07:48:00) [3]

XL.quit совсем закрывает EXCEL а мне надо токо книгу
XL.Unassigned-выдал ошибку Method 'Unassigned' not supportted by automation object

В екселе открыто 2 книги.
Во второй книге запускается макрос для оформления расчетолм и сами расчеты.
и затем мне желательно закрыть эту книгу 2(тока эту книгу)
Если возможно закрытие произвести из екселя.

Я думаю что я закрываю книгу, а сней переменная связана, тут и происходит ошибка


Sash   (2005-01-24 07:20:00) [4]

а XL.Quit и XL.Unassigned тебе не подходит?


Евг   (2005-01-24 07:14:00) [5]

Sub add_st()
...
ActiveWorkbook.Close
Windows(nam).Activate
End Sub


Sash   (2005-01-24 06:58:00) [6]

а как ты ее вообще закрываешь?


Наверх

Титульная страница Поиск, карта сайта Написать письмо