Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
lki Участник со стажем
Вступление в Клуб: 18.03.2008
|
Вт Дек 20, 2011 07:59  Неизвестная ошибка выполнения VBScript (выгрузка в Excel) |
|
Полезность: Нет оценки
|
При формировании отчета в Excel выдается ошибка:
" Неизвестная ошибка выполнения
Src: Ошибка выполнения Microsoft VBSript
Line:0 Error:0
Scode:800a03ec"
Как определить из-за чего ошибка?
Отчет выводится на 10 листов книги. Иногда (разные входные данные) вываливается такая ошибка. Причем определить на каком конкретном месте ошибка не получается.
Например, делаю:
- комментирую вывод на 6-ой лист (т.е. вывожу листы 1-5 и 7-10) = отчет без ошибки
- комментирую вывод на 1-4 листы (т.е. вывожу листы 5-10) = отчет без ошибки
- комментирую вывод на 1-3 листы (т.е. вывожу листы 4-10) = ошибка
и так далее, т.е. ошибка может повторяться в разных местах, при этом при других входных данных (даже когда в отчет выгружается бОльший объем информации) ошибка не возникает. |
|
![](templates/subSilver/images/spacer.gif) |
vtar Эксперт
Вступление в Клуб: 20.03.2009
|
Вт Дек 20, 2011 08:18   |
|
Полезность: Нет оценки
|
1) формировать отчет в текстовый файл,( xml, html ) и тянуть в EXCEL
2) попробовать выполнить в другой версии EXCEL ( 2003 <-> 2010)
3) формировать отчет в WORD |
|
![](templates/subSilver/images/spacer.gif) |
Volod Эксперт
Вступление в Клуб: 19.09.2007
|
Вт Дек 20, 2011 08:25   |
|
Полезность: Нет оценки
|
Поставить отладчик скриптов.
Либо выгружать в текстовый файл vbs и запустить его.
Код: |
for i in 0..[RUNTIME].[EXCEL].tbl_rep.last loop
stdio.PUT_LINE( file, [RUNTIME].[EXCEL].tbl_rep(i)||CR$, FALSE, NULL, stdio.WINTEXT );
end loop;
|
|
|
![](templates/subSilver/images/spacer.gif) |
lexus Профи
Вступление в Клуб: 28.09.2007
|
Вт Дек 20, 2011 09:04   |
|
Полезность: Нет оценки
|
отладчик скриптов помогает в таких ситуациях.
Он есть на сайте поддержки ЦФТ, в разделе ТЯ. Там же и инструкция. |
|
![](templates/subSilver/images/spacer.gif) |
svn Профи
Вступление в Клуб: 04.02.2008
|
Вт Дек 20, 2011 09:54   |
|
Полезность: Нет оценки
|
очень частый вариант такой ошибки - обращение к несуществующему листу - я б копал в эту сторону |
|
![](templates/subSilver/images/spacer.gif) |
lki Участник со стажем
Вступление в Клуб: 18.03.2008
|
Вт Дек 20, 2011 10:52   |
|
Полезность: Нет оценки
|
отладчик попробую, позже отпишусь, если что-то выясню.
по другим предложениям:
- разные версии MS Office пробовал, помогло всего один раз (в 2003 не выгружался, а в 2007 выгрузился), а так ошибка в любой версии
- текстовый файл и потом в Excel, с трудом представляю себе как это провернуть. в отчете часть форматирования формируется в момент выгрузки (не все форматирование есть в шаблоне); есть поля комментариев с большим объемом текста; достаточно сложная структура отчета (может быть несколько таблиц на одном листе, на разных листах разная структура)
- формировать в Word проблематично в виду сложной структуры отчета и необходимости последующей работы с числами (формулами) в отчете
- по поводу vbs файла, выгрузку напрямую в него не пробовал, но пробовал использовать команду excel.show_script и потом из монитора сессии сохранял в vbs файл (правда руками приходилось убирать даты и время и строки с ________________) запускал, отчет поднимался
- по поводу отсутствующих листов - отчет не всегда ломается, я бы сказал наоборот из примерно 500 вариантов разных входных данных сломался раза 3-4, в остальных случаях все отлично работает
P.S. если не трудно скажите как обзывается по ЦФТ-шному этот отладчик скриптов? а если совсем не трудно киньте ссылкой на него |
|
![](templates/subSilver/images/spacer.gif) |
lki Участник со стажем
Вступление в Клуб: 18.03.2008
|
Ср Дек 21, 2011 05:00   |
|
Полезность: Нет оценки
|
не нашел отладчик на сайте ЦФТ. подскажите как он называется по ЦФТ-шному? |
|
![](templates/subSilver/images/spacer.gif) |
timochev Эксперт
Вступление в Клуб: 02.07.2007
|
Ср Дек 21, 2011 07:53   |
|
Полезность: 2
|
lki пишет: | не нашел отладчик на сайте ЦФТ. подскажите как он называется по ЦФТ-шному? |
Код: | http://supportobject.cft.ru/scdp/page?event=link(viewdetails)&obj=2770128&class=news&viewsubmode=NewsList&page=1&service=289310&origin=content&linktype=inner |
|
|
![](templates/subSilver/images/spacer.gif) |
lki Участник со стажем
Вступление в Клуб: 18.03.2008
|
Ср Дек 21, 2011 09:59   |
|
Полезность: Нет оценки
|
Спасибо за помощь, особенно за ссылку на отладчик, без прямой ссылки так и не смог добраться до него (хотя Microsoft Script Debugger у меня уже был установлен, просто не был установлен нужный параметр в реестре - инструкция помогла).
Благодаря отладчику нашел ошибку. Она заключалась в следующем: в Excel вставлялась формула (как раз на 6 лист) по типу "=A-B*C/D", значение C=null и в итоге вставлялась формула "=A-B*/D".
Единственное, что осталось загадкой, это почему данная формула (с ошибкой) нормально обрабатывается в случае вывода этого листа отдельной операцией. Есть подозрение, что если такая ошибка попадает в первую часть скрипта (весь же скрипт дробится при исполнении на части из-за длины переменной=32000), то все будет нормально отрабатываться, а иначе выйдет ошибка. Такое предположение оправдывает случаи описанные мной в 1-ом посте:
- комментирую вывод на 6-ой лист (т.е. вывожу листы 1-5 и 7-10) = отчет без ошибки
- комментирую вывод на 1-4 листы (т.е. вывожу листы 5-10) = отчет без ошибки
- комментирую вывод на 1-3 листы (т.е. вывожу листы 4-10) = ошибка
Т.е. ошибка возникает не при самом исполнении VB скрипта (т.к. сохраненный в файл .vbs скрипт отлично поднимает отчет), а на этапе предварительной обработки этого скрипта в ТЯ. |
|
![](templates/subSilver/images/spacer.gif) |
Volod Эксперт
Вступление в Клуб: 19.09.2007
|
Ср Дек 21, 2011 10:45   |
|
Полезность: Нет оценки
|
Кстати, в тему, нужно учитывать, что если в начале выводимой командой PUT обычной строки попадаются символы =+-, то Excelю это очень не понравится (сталкивался при выводе назначения платежа). |
|
![](templates/subSilver/images/spacer.gif) |
vek21 Участник со стажем
Вступление в Клуб: 20.09.2007
|
Пт Дек 23, 2011 07:45  Re: Неизвестная ошибка выполнения VBScript (выгрузка в Excel |
|
Полезность: Нет оценки
|
Кстати, до кучи - подобная ошибка
lki пишет: | При формировании отчета в Excel выдается ошибка:
" Неизвестная ошибка выполнения
Src: Ошибка выполнения Microsoft VBSript...
|
часто возникает, если в процессе обработки VB-скрипта пользователь - возможно, в совершенно постороннем, другом окне - делает копирование в буфер/восстановление из буфера(CTRL-C/CTRL-V)... |
|
![](templates/subSilver/images/spacer.gif) |
markoff Участник - экстремал
Вступление в Клуб: 09.06.2009
|
Пт Дек 23, 2011 09:44  Re: Неизвестная ошибка выполнения VBScript (выгрузка в Excel |
|
Полезность: Нет оценки
|
vek21 пишет: | Кстати, до кучи - подобная ошибка
lki пишет: | При формировании отчета в Excel выдается ошибка:
" Неизвестная ошибка выполнения
Src: Ошибка выполнения Microsoft VBSript...
|
часто возникает, если в процессе обработки VB-скрипта пользователь - возможно, в совершенно постороннем, другом окне - делает копирование в буфер/восстановление из буфера(CTRL-C/CTRL-V)... |
Тоже замечал такое поведение, мне помогла вот такая конструкция
[EXCEL].open_file - параметр visible ставим false
перед [EXCEL].release прописываем [EXCEL].Visible |
|
![](templates/subSilver/images/spacer.gif) |
vek21 Участник со стажем
Вступление в Клуб: 20.09.2007
|
Пт Дек 23, 2011 11:30   |
|
Полезность: Нет оценки
|
Нет, markoff, это помочь не может. То, что вы написали -
Цитата: | [EXCEL].open_file - параметр visible ставим false
перед [EXCEL].release прописываем [EXCEL].Visible |
- делается всегда по умолчанию (во всяком случае, у нас). Но это не спасает от вышеописанной ошибки, если в процессе обработки VB-скрипта пользователь нажимает CTRL-C/CTRL-V. Хотя и не всегда. Порой копирование/вставка при обработке VB-скрипта не приводит к фатальным последствиям. ![Smile](images/smiles/icon_smile.gif) |
|
![](templates/subSilver/images/spacer.gif) |
NewGirl Участник
Вступление в Клуб: 14.01.2016
|
Пт Янв 15, 2016 17:55   |
|
Полезность: Нет оценки
|
А может кто-нибудь скинуть этот легендарный отладчик + инструкцию? Ссылка видимо уже давно не работает. Заранее спасибо. |
|
![](templates/subSilver/images/spacer.gif) |
Volod Эксперт
Вступление в Клуб: 19.09.2007
|
Пт Янв 15, 2016 18:06   |
|
Полезность: Нет оценки
|
Установите
HKEY_CURRENT_USER\Software\Microsoft\Windows Script\Settings\JITDebug = "1"
Попробуйте запустить на исполнение любой vbs с какой-нибудь ошибкой.
Если отладчик не запускается - установите его:
Download Script Debugger for Windows NT 4.0 and Later...
microsoft.com›en-US/download/details.aspx…
File Name: scd10en.exe |
|
![](templates/subSilver/images/spacer.gif) |
|