18.10.2006, 14:22 | #1 |
Участник
|
Порой при построении больших отчётов в Excel через Automation Microsoft Excel 11.0 Object Library порой возникают проблемы - построение прерывается и выскакивает окно об ошибке, но как обычно для ошибок выгрузки в эксель суть ошибки не раскрывается. При построении одного и того же отчёта по одним и тем же данным ошибка может возникать в разных местах, а может и вобще не возникать. На бухгалтерской машине оно выскакивает довольно часто и приходится некоторые отчёты строить только со 2-го или 3-го раза. С чем может быть связана эта поблема? У меня варианта 2:
- либо быстродействия и производительности компа не хватает - либо это может быть связано с блокировками таблиц во время проводок (отчёт строится по книге проводок), хотя он только на чтение работает. Что скажете? Кста, сколько под дебагером ни пытался поймать - всё работает исправно, без него выго иногда выскакивает. Бухгалетра жалуются. |
|
18.10.2006, 15:52 | #2 |
Участник
|
У меня при выгрузке в Эксель чаще всего возникает ошибка - если открыт какой нибуть файл в Эксель и ячейка редактируется - то есть курсор мигает в ячейке - любой экспорт отваливается
Вторая ошибка если пытаются выгрузить в одно и то же имя уже открытого в Экселе файла |
|
18.10.2006, 16:11 | #3 |
Участник
|
Цитата:
Недопонял о чём это |
|
18.10.2006, 16:16 | #4 |
Участник
|
Цитата:
Ошибки конечно тупые но только они и происходят а по другим вопросам как то все и работает не отваливается. Может тогда код не очень хороший. Он же не дебаггит вызовы Excel и может ошибки синтаксиса VBA? |
|
18.10.2006, 16:36 | #5 |
Участник
|
Я замечал, что ошибка при выгрузке в эксель возникает в случае, если в это время попытаться просто открыть либо еще один эксель, либо эксельный файл. Любой.
Вроде было так .. |
|
18.10.2006, 17:11 | #6 |
Участник
|
Цитата:
Цитата:
2. Ничего хитрого там нет, просто данные пишутся в ячейки и в конце итоги подбиваются с помощью финкции СУММ, да и на тех же данных постоянно бы вызывал ошибку в одном месте. У меня самого вылазила эта ошибка случайно и я ничего такого не делал |
|
18.10.2006, 21:30 | #7 |
Участник
|
Цитата:
1. А как тогда объяснить что повторный запуск на тех же данных того же кода может отработать успешно или вылететь на другом месте совершенно?
Цитата:
2. Ничего хитрого там нет, просто данные пишутся в ячейки и в конце итоги подбиваются с помощью финкции СУММ, да и на тех же данных постоянно бы вызывал ошибку в одном месте
|
|
19.10.2006, 08:47 | #8 |
Участник
|
[quote=IGHG;353873]
Это может объясняться тем что в памяти может остаться объект Excel который неактивировался при ошибке какой-нибудь. Если снять процессы Excel в процессах системы то может все нормально будет? [quote] Не знаю, возможно, но отследить трудно. Вобще если такео у меян происходит, то обычно активируются после визибл все документы и конфликтов по этому поводу не замечал. Ну функция СУММ в конце всего документа, а ошибка вылетает где-то посередине, да и если бы было так, то огибка повторялась на тех же данных в одном и том же месте. |
|
19.10.2006, 11:30 | #9 |
Заноза в заднице
|
Цитата:
Сообщение от grif
Порой при построении больших отчётов в Excel через Automation Microsoft Excel 11.0 Object Library порой возникают проблемы - построение прерывается и выскакивает окно об ошибке, но как обычно для ошибок выгрузки в эксель суть ошибки не раскрывается. При построении одного и того же отчёта по одним и тем же данным ошибка может возникать в разных местах, а может и вобще не возникать. На бухгалтерской машине оно выскакивает довольно часто и приходится некоторые отчёты строить только со 2-го или 3-го раза. С чем может быть связана эта поблема? У меня варианта 2:
- либо быстродействия и производительности компа не хватает - либо это может быть связано с блокировками таблиц во время проводок (отчёт строится по книге проводок), хотя он только на чтение работает. Что скажете? Кста, сколько под дебагером ни пытался поймать - всё работает исправно, без него выго иногда выскакивает. Бухгалетра жалуются.
__________________
Лень мудрого человека - это необходимое средство нейтрализации кипучей активности руководящих им дураков! |
|
19.10.2006, 12:33 | #10 |
Участник
|
Не могу подловить у себя теперь. Бухгалтеров надо заставлять. Вобещ там текст почти такой: сообщения для прогармистов C\AL и т.д. без подробностей и раскрытия сути ошибки. Т.е. ошибка выкинута самим навиженом. Такое же сообщение точно сообщение вылезает если вызвать как-то криво функцию экселевскую, например.
А в разных случаях всегда по одинаковому |
|
20.10.2006, 11:31 | #11 |
Участник
|
Цитата:
Сообщение от grif
Не могу подловить у себя теперь. Бухгалтеров надо заставлять. Вобещ там текст почти такой: сообщения для прогармистов C\AL и т.д. без подробностей и раскрытия сути ошибки. Т.е. ошибка выкинута самим навиженом. Такое же сообщение точно сообщение вылезает если вызвать как-то криво функцию экселевскую, например.
А в разных случаях всегда по одинаковому Рекомендую проверить. |
|
20.10.2006, 11:41 | #12 |
Участник
|
1. Если бы было так, то оно стабильно бы ругалось бы в одном и том же месте и причём каждый раз
2. Ругается не Excel, а Navision |
|
20.10.2006, 14:23 | #13 |
Участник
|
[attachment=532:attachment]
Цитата:
там текст почти такой: сообщения для прогармистов C\AL и т.д.
Честно говоря, устранить подобную проблему не получилось, просто приучил финансистов и бухгалтеров к тому, чтобы терпеливо ждалии и не трогали эксель, пока он не закончит рисоваться. |
|
20.10.2006, 14:46 | #14 |
Участник
|
Цитата:
Сообщение от Neovision
[attachment=532:attachment]
Цитата:
там текст почти такой: сообщения для прогармистов C\AL и т.д.
Честно говоря, устранить подобную проблему не получилось, просто приучил финансистов и бухгалтеров к тому, чтобы терпеливо ждалии и не трогали эксель, пока он не закончит рисоваться. |
|
20.10.2006, 16:05 | #15 |
Участник
|
Цитата:
Сообщение от Neovision
Если во время формирования отчёта кликнуть мышкой где-нить на экселевском листе, то генерация листа прекращается и вылетает сообщение об ошибке типа компонент OLE или Automation не обеспечил описание исключения.
Честно говоря, устранить подобную проблему не получилось, просто приучил финансистов и бухгалтеров к тому, чтобы терпеливо ждалии и не трогали эксель, пока он не закончит рисоваться. |
|
20.10.2006, 16:10 | #16 |
Участник
|
Люди! А зачем вы показываете пользователю как рисуется Ёксель? Пусть сначалал отработает, а потом уже давайте пользователю на растерзание!
Milk опередил |
|
20.10.2006, 16:22 | #17 |
Участник
|
Цитата:
Если дело окажется в том, что пользователи тыкают в другие листы, надо просто показывать юзеру отчет только после окончания его формирования.
|
|
20.10.2006, 16:36 | #18 |
Участник
|
|
|
20.10.2006, 16:42 | #19 |
MCTS
|
Думаю что-то типа:
В начале XlApp.Visible(FALSE); В конце XlApp.Visible(TRUE); XlApp.UserControl(TRUE); CLEAR(XlApp); ______________ добавил. Пример см. в таблице 370. Пример использования таблицы 370 см в отчете 12469 |
|
20.10.2006, 16:58 | #20 |
Участник
|
Цитата:
В начале
XlApp.Visible(FALSE); В конце XlApp.Visible(TRUE); XlApp.UserControl(TRUE); CLEAR(XlApp); |
|