![]() |
|
Работа с эксель | ☑ | ||
---|---|---|---|---|
0
Alekzander Wolf
25.11.16
✎
06:38
|
Допустим есть такой код:
Попытка Книга = Эксель.WorkBooks.Open(ИмяФайла); Исключение Возврат; КонецПопытки; Проблема в том что после выполнения строки Эксель.WorkBooks.Open(ИмяФайла) (когда ошибка! очень редко она есть и вообще не понятно от чего она зависит), то появляется ошибка windiows "отправлять отчет не отправлять", потом открывается пустой excel файл, а потом уже, когда я все это закрою падает в исключение. Как сделать так, чтобы все сразу падало в исключение без всяких посторонних ошибок и открытых окон. Можно ли как-то до открытия книги понять откроется она нормально или есть ошибка. |
|||
1
Peltzer
25.11.16
✎
07:42
|
По всей видимости, либо в COM-объекте что-то критически ломается, либо в Windows. Обратите внимание на текст ошибки windows и попытайтесь устранить причину.
|
|||
2
shuhard_серый
25.11.16
✎
07:44
|
(0)[Как сделать]
использовать ADODB |
|||
3
Alekzander Wolf
25.11.16
✎
09:08
|
(2) подробнее можно
|
|||
4
dka80
25.11.16
✎
09:37
|
В конце закрываешь открытую книгу и убиваешь переменную "Книга"? Когда возникает ошибка несколько процессов Excel.exe в памяти случайно не висит?
|
|||
5
Звездец
25.11.16
✎
09:45
|
(3) на infostarte огромная статья есть про это и не только. Там еще описаны все возможные способы загрузки
|
|||
6
Alekzander Wolf
25.11.16
✎
09:47
|
(4) если сделать так
Попытка Книга = Эксель.WorkBooks.Open(ИмяФайла); Исключение Эксель.WorkBooks.Close(); // Тут будет ошибка Возврат; КонецПопытки; И исключение отработает только после того как все закроешь. до выполнения строки Книга = Эксель.WorkBooks.Open(ИмяФайла); естественно все закрыто. |
|||
7
Масянька
25.11.16
✎
09:53
|
(6) У меня Word в клюшках так работает6
ИначеЕсли (РасширениеФайла = "doc") Тогда // открываем файл Попытка мWord = СоздатьОбъект("Word.Application"); мДок = мWord.Documents.Open(ИмяФайла); // активируем Word мWord.Visible = 1; мWord.Application.WindowState = 2; мWord.Application.WindowState = 1; Исключение мWord.Quit(); Предупреждение(ОписаниеОшибки()); КонецПопытки; Не валится. |
|||
8
Мимохожий Однако
25.11.16
✎
10:03
|
Прежде чем открывать файл в Экселе, полезно проверять существование этого файла, а также наличия на рабочем месте самого экселя.
|
|||
9
Alekzander Wolf
25.11.16
✎
10:05
|
(8) все есть, все работает. Как написал выше эта ошибка относительно редко появляется в 3-5% случаях (что конечно достаточно чтобы обратить на это внимание).
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |