|
Excel неверно определяет количество листов | ☑ | ||
---|---|---|---|---|
0
kIR
21.08.17
✎
12:16
|
Доброго дня!
Почему-то у некоторых документов Excel некорректно определяет количество листов - 2 вместо 1 и из-за этого происходит задвоение загружаемых позиций. Код такой: //Создание объекта для установки связи с источником данных Connection = Новый COMОбъект("ADODB.Connection"); СтрокаПодключения = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source = "+СокрЛп(СтрокаЗагрузки.ПутьКФайлу); Файл = Новый Файл(СтрокаЗагрузки.ПутьКФайлу); Если ВРЕГ(Файл.Расширение) = ВРЕГ("xls") Тогда СтрокаПодключения = СтрокаПодключения + "; Extended Properties = "+"""Excel 8.0"+";HDR=NO"";"; Иначе СтрокаПодключения = СтрокаПодключения + "; Extended Properties = "+"""Excel 12.0 XML"+";HDR=NO"";"; КонецЕсли; Попытка Connection.Open(СтрокаПодключения); Исключение ВывестиСообщениеООшибке(ОписаниеОшибки()); Отказ = Истина; Возврат Отказ; КонецПопытки; //создание объекта выполнения команды Command = Новый COMОбъект("ADODB.Command"); //создание объекта подключения к файлу axCatalog = Новый COMОбъект("ADOX.Catalog"); axCatalog.ActiveConnection = Connection; //получим листы документа, Для Каждого Лист ИЗ axCatalog.Tables Цикл ... И бла-бла-бла. Только вот в axCatalog.Tables почему то 2 вместо 1. И не по всем документам. Почему такое может быть? куда рыть? Спасибо |
|||
1
v77
21.08.17
✎
12:19
|
скрытые листы
|
|||
2
kIR
21.08.17
✎
12:22
|
(1) все отображены. Команда "отобразить лист.." недоступна
|
|||
3
v77
21.08.17
✎
12:33
|
(2) Ну тогда наверное всё как обычно. Понапрограммировал ошибок.
|
|||
4
Tatitutu
21.08.17
✎
12:41
|
массив начинаться с 0
0 и 1 - это два прохода в цикле |
|||
5
kIR
21.08.17
✎
12:44
|
(4) нет,именно,что в "кривых" документах axCatalog.Tables = 2, в корректных = 1
|
|||
6
h-sp
21.08.17
✎
13:13
|
(5) там в axCatalog.Tables не только листы, но и поименованные области.
поэтому поищите на этом листе, вдруг там область есть. |
|||
7
kIR
21.08.17
✎
15:15
|
(6) ну они, наверное, были бы видны..
|
|||
8
kIR
21.08.17
✎
15:19
|
(6) да и поискал через ctrl + G - нет их там
|
|||
9
h-sp
21.08.17
✎
15:20
|
(8) ну тогда отладчиком глянь
|
|||
10
Вафель
21.08.17
✎
15:22
|
доработай алгоритм, чтоб дубли не создавал. Как в кд - сначала ищем, потом создаем
|
|||
11
kIR
21.08.17
✎
15:44
|
(10) видимо,придется
|
|||
12
25-11
21.08.17
✎
21:44
|
Точно нет "очень скрытых" листов? Я как раз сегодня такой искал. Открыл "Разработчик" (у меня офис 2016, если это имеет значение) и вижу лист у которого свойство
Visible = -1 (xlSheetVeryHidden) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |