Имя: Пароль:
1C
1C 7.7
v7: 1c 7.7 и Excel. Несовпадение типов #Н/Д
0 evgpinsk_
 
09.01.24
17:05
в 1с читаем ексель файл в цикле:
Лист.cells(i,j).value

Но если в ячейке файла есть ошибка в виде "#ССЫЛКА!"
при чтении данной ячейки 1с подвисает мёртво
"попытка  исключение" - не помогает.

Помогает такой решение:
Если Найти (Лист.cells(ии,1).Formula,"#REF") =0 Тогда
_КодТМЦ=Лист.cells(ии,1).value;
конецесли

Но к сожалению этот метод не помогает если в ячейке ошибка такого вида:
#Н/Д

Может кто знает, как отлавливать #Н/Д в екселе чтобы 1с не подвисала ?
1 mikecool
 
09.01.24
17:12
а если текст прочитать, тоже виснет?
2 evgpinsk_
 
09.01.24
17:13
Если в самом Ексель использовать
=ЕСЛИОШИБКА(формула;0)
и тогда при ошибке она возвращает 0

также не помогает. 1с зависает при чтении этой ячейки
3 evgpinsk_
 
09.01.24
17:14
(1) Нет, всё читает штатно, если ошибок в файле нет.
Ниже похожая тема

1c 7.7 и Excel. Несовпадение типов #ССЫЛКА!

но решение только для #ССЫЛКА!
4 Злопчинский
 
09.01.24
18:12
А если попробовать прочитать йокселем?
5 mikecool
 
09.01.24
18:18
(3) так все таки - если прочитать text из ячейки с ошибкой, зависает 1с или нет?
если я еще помню - то именно через текст как то обходили ранее
6 Donkey_hot
 
09.01.24
18:18
(0) А если по аналогии, что-нибудь типа:

Если Найти (Лист.cells(ии,1).Formula,"#N/A") =0
7 evgpinsk_
 
09.01.24
18:35
(5) Сори, сначала не верно понял.
Да через text вместо value
заработало
8 mikecool
 
09.01.24
18:40
(7) зер гут
9 Aleksey
 
10.01.24
02:31
(7) А если вместо value использовать Value2, тоже зависнет