ошибка в Excel

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

ошибка в Excel

Сообщение ~Ilya~ » 04.03.2008 (Вт) 17:17

Сегодня столкнулся с такой ситуацией: у меня есть программа, написанная на VB6, которая:
1) формирует книгу Excel
2) сохраняет книгу
3) закрывает книгу
4) выходит из Excel

Если эту программу запускать из проводника, то она работает как надо.
Но мне нужно запускать ее из ASP.NET, для этого я использую класс Process. В ASP.NET этапы 1,2 проходят, а вот закрыть книгу не хочет. Вместо этого выскакивает ошибка :

Excel.exe - ошибка приложения
Память не может быть read


причем если закомментировать строку
Код: Выделить всё

objWorkbook.Close


то ошибки нет, т.е. дело именно в этой строке.
Кто-нибудь знает, что с эти делать?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 04.03.2008 (Вт) 20:14

Из всего этого можно сделать вывод, что ASP.NET - бажная гадость. Метод Close наверняка сто раз проверялся, и раз он работает в случае обычно запуска - значит, он чист.

Стало быть, проблема в ASP.NET и его классах, которые что-то как-то делают, что память действительно не может быть read.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

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

Сообщение alibek » 05.03.2008 (Ср) 9:16

Хакер, ерунда.

~Ilya~, а что делает программа с книгой?
Что-нибудь делается с Selection?
Lasciate ogni speranza, voi ch'entrate.

~Ilya~
Новичок
Новичок
 
Сообщения: 45
Зарегистрирован: 09.03.2006 (Чт) 14:34

Сообщение ~Ilya~ » 05.03.2008 (Ср) 11:37

Программа на VB6, которая формирует книгу - вставляет несколько строк и пишет данные в ячейки. Selection не трогает.
Вообще эта программа у меня работает по планировщику и таких ошибок не выдает. Только если запускать из ASP.NET :)
Видимо, класс Process, который ее запускает как-то неправильно это делает.

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

Сообщение alibek » 05.03.2008 (Ср) 11:57

Как-то у меня было такое. Но давно, уже не помню, в чем причина была.
Попробую найти.
Но для начала попробуй его делать видимым перед закрытием.
Lasciate ogni speranza, voi ch'entrate.

~Ilya~
Новичок
Новичок
 
Сообщения: 45
Зарегистрирован: 09.03.2006 (Чт) 14:34

Сообщение ~Ilya~ » 18.03.2008 (Вт) 16:27

Попробовал запускать через API (CreateProcess) - та же фигня :(


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

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

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

    TopList