Выгружаем в EXCEL с помощью ADO (часть 2)

22.01.15

Интеграция - Загрузка и выгрузка в Excel

Наверное, уже многие знают, что с помощью технологии ADO можно быстро читать большие объемы информации из книг excel. Но ведь с помощью данной технологии можно также легко создавать и заполнять файлы excel. Данная статья является продолжением статьи "Выгружаем в EXCEL с помощью ADO"

Данная статья является логическим продолжением статьи Выгружаем в EXCEL с помощью ADO, в ней пойдёт речь о типизации выгружаемых данных, а также о втором способе создания файла эксель (без использования объекта ADOX.Catalog).

Итак, сначала типизация колонок в создаваемом экселевском файле (для примера из первой статьи):

......

Table = Новый COMОбъект("ADOX.Table");
Table.Name = "Table";

// Допустимые типы
// adDouble = 5 Значение с плавающей точкой двойной точности
// adDAte = 7 Дата
// adCurrency = 6 Денежная сумма
// adBoolean = 11 Булево
// adVarWChar = 202 Символьная строка Unicode, заканчивающаяся NULL
// adLongVarWChar = 203 Длинное строковое значение

Column = Новый COMОбъект("ADOX.Column");
Column.Name = "ЧисловойСтолбец";
Column.Type = 5;
Table.Columns.Append(Column);

Column = Новый COMОбъект("ADOX.Column");
Column.Name = "ДатаСтолбец";
Column.Type = 7;
Table.Columns.Append(Column);

Column = Новый COMОбъект("ADOX.Column");
Column.Name = "СтроковыйСтолбец";
Column.Type = 202;
Table.Columns.Append(Column);

Column = Неопределено;
Catalog.Tables.Append(Table);

Ну а теперь второй способ создания файла эксель(без использования объекта ADOX.Catalog):

 

СтрокаПодключения = "
|Provider=Microsoft.Jet.OLEDB.4.0;
|Data Source="
+ИмяФайлаЭксельНовый+";
|Extended Properties=""Excel 8.0;HDR=YES"";"
;

Connection = Новый COMОбъект("ADODB.Connection");

Connection.ConnectionString = СтрокаПодключения;
Connection.Open();

Command = Новый COMОбъект("ADODB.Command");
Command.ActiveConnection = Connection;

Command.CommandText = "CREATE TABLE [МояТаблица] (Символьный char(255), Дата date, Целый int, Дробный float)";
Command.Execute();

Command.CommandText = "INSERT INTO [МояТаблица] (Символьный, Дата, Целый, Дробный) values ('АБВГДЕЁ', '12/4/1955', '1234567', '12345,6789')";
Command.Execute();

// А вот так можно удалить все данные на листе, при этом сам лист останется
//Command.CommandText = "DROP TABLE [МояТаблица]";
//Command.Execute();

Command = Неопределено;
Connection.Close();

Единственное чему я не нашел пока применения, так это оператору ALTER, ни в какой форме он у меня не заработал... а по документации с сайта microsoft должен ...

Вроде бы ничего не забыл и нигде не ошибся :) Вот такая небольшая и лаконичная статья получилась ...

 

P.S. И всё таки забыл ... :) Записи таблицы можно изменять следующим образом(вдруг кому понадобится):

Command.CommandText = "UPDATE [МояТаблица] SET Символы='йцукен' WHERE Целое=12345";
Command.Execute();

Мне НЕ УДАЛОСЬ :

1). Удалять записи. (DELETE FROM [МояТаблица] WHERE Символы='АБВГДЕЁ')

2). Изменять структуру таблицы путём добавления и удаления столбцов, а так же изменения их типа. (Операторы: ALTER TABLE [МояТаблица] DROP COLUMN Дата, ALTER TABLE [МояТаблица] ADD НоваяКолонка data)

ОГРОМНАЯ просьба если кому-то удастся выполнить данные операции (или другие НЕ ОПИСАННЫЕ в данных статьях) сообщите мне. Заранее благодарен.

 

Источник: http://www.obrabotki.com/1s-excel-ado-2/

excel ado

См. также

SALE! 10%

Загрузка номенклатуры из Excel в УТ11, КА 2, ERP 2, Розница 2. Дополнительные реквизиты и сведения, характеристики, картинки, цены, остатки

Загрузка и выгрузка в Excel Розничная торговля Логистика, склад и ТМЦ Ценообразование, анализ цен Прайсы Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Загрузка из файлов xls, xlsx, ods, csv, mxl в УТ11, КА 2, ERP 2, Розница 2. Задействованы все возможности конфигурации - заполнение реквизитов номенклатуры, дополнительных реквизитов и сведений, характеристики, доп.реквизиты и сведения характеристик. Дополнительные обработки для расширения возможностей.

10560 9504 руб.

29.10.2014    210129    620    524    

439

Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2

Загрузка и выгрузка в Excel Логистика, склад и ТМЦ Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Эволюция не стоит на месте - новая удобная версия функциональной обработки для Вашего бизнеса! Что же Вы получаете? Удобный и интуитивно понятный интерфейс с 3-мя этапами работы. 2 режима - автоматический и ручной. Чтение XLSX, XLSM, CSV, XML/YML форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 11.12.2023, версия 9.5 - 9.9)

13200 руб.

20.11.2015    150698    367    375    

501

Маркетплейсный загрузчик для 12-ти маркетплейсов в "БП 3", "УТ 11", "КА 2", ERP, УНФ

Загрузка и выгрузка в Excel Маркетплейсы Платформа 1С v8.3 Бухгалтерский учет 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Управленческий учет Платные (руб)

Реальный помощник, с помощью которого Вы сделаете необходимые документы для Wildberries, OZON, ЯндексМаркет, Мегамаркет, Aliexpress, "Детский мир", Казань-Экспресс, "Леруа Мерлен", ЭНФАНТА (Акушерство), ЛаМода, Летуаль, "Твой дом" в документы "Отчет комиссионера (агента) о продажах" и другие, может работать в "Бухгалтерия 3", "Бухгалтерия 3 КОРП", УТ 11, УНФ, КА 2, ERP. Возможность подключить любые маркетплейсы. Анализ продаж ОЗОН. 30 дней БЕСПЛАТНОГО пользования!

1800 руб.

12.08.2021    31887    226    63    

117

SALE! 20%

Загрузка документов и номенклатуры из Excel в 1С "одним нажатием": УПД, ТОРГ-12, отчеты маркетплейсов, заказы, счета, прайсы

Загрузка и выгрузка в Excel Оптовая торговля Платформа 1С v8.3 Управляемые формы Платформа 1C v8.2 Конфигурации 1cv8 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная обработка для загрузки документов из Excel в 1С. Не требует указания параметров (номера колонок, номер первой строки таблицы и т.д.) и предварительной настройки. Просто выбираете файл Excel, документ 1С и нажимаете кнопку "Загрузить". Обработка сама находит таблицу в файле Excel, необходимые для загрузки данные в ней (номенклатура, количество, НДС, цена, сумма) и загружает ее в 1С. Вместе с номенклатурой может найти контрагента, номер и дату документа, штрих-коды, серии ГТД, страну и т.д. Распознает документы ЛЮБОЙ ФОРМЫ (УПД, ТОРГ-12, заказ, отчет комиссионера и т.д.). Не требует MS Office. Для поиска таблиц используются методы эвристического поиска. Загружает только то, что нужно, т.е. пропускает повторы шапки таблицы, заголовки, промежуточные итоги, подписи и т.д. Содержит модуль работы с электронной почтой и api-загрузчик отчетов о продажах маркетплейсов.

5000 4000 руб.

09.11.2016    214891    924    886    

939

Загрузка данных отчета о реализации товаров из Excel файла СберМегаМаркет

Загрузка и выгрузка в Excel Маркетплейсы Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Загрузка данных отчета о реализации товаров из сервиса СберМегаМаркет для конфигурации: Бухгалтерия предприятия, редакция 3.0; Управление торговлей, редакция 11 и Управление нашей фирмой, редакция 3.0 в документ "Отчет комиссионера (агента) о продажах".

4800 руб.

07.06.2022    15069    79    0    

60

SALE! 30%

Распознавание и загрузка сканов в 1С "одним нажатием": УПД, ТОРГ-12, накладные, счета, номенклатура, заказы и т.д.

Загрузка и выгрузка в Excel Документооборот и делопроизводство (СЭД) Учет документов Распознавание документов и образов Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная программа для распознавания ЛЮБЫХ СКАНОВ ИЛИ ФОТО ТОВАРНЫХ ДОКУМЕНТОВ в 1С. Не требует указания параметров и предварительной настройки. Просто выбираете файл (PDF, JPG, DOC, XLS, HTML и т.д.) выбираете документ 1С и нажимаете кнопку "Распознать и загрузить".

6000 5520 руб.

04.06.2019    101353    296    173    

312
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. dimaxmaster 19.04.10 17:34 Сейчас в теме
Плюсую, очень полезная вещь. Автор молодец.
29. serggo 09.04.12 12:12 Сейчас в теме
Господа, а возможно ли сразу используя ADODB - запрос, прочитать не value из ячеек, а именно текст (Аналог ExDoc.Sheets(1).Cells(а,1).Text)?

При переборе recorset'a юзаю:

Пока НЕ RS.EOF() Цикл
         Артикул = RS.Fields(АртНом).value;
;


Естественно, при замене value на text ругается
2. legioner 164 21.04.10 03:50 Сейчас в теме
Только почему в заголовке 7.7, когда код для 8ки?
7. ll13 1047 21.04.10 12:17 Сейчас в теме
(2) Технология ADO универсальна и код под 7.7 можно переписать за 5 минут...
3. markers 274 21.04.10 06:58 Сейчас в теме
Интересно вот, есть ли возможность навести визуальный лоск через ADO (Просто мечтаю..), например там цвета/рамочки/шрифты...
Надо полагать что нельзя :(
А так выгружать через ADO скажем прайс, а потом по строчке красить и т.д., теряется весь смысл :( Но автору всё-равно спасибо!
8. ll13 1047 21.04.10 12:20 Сейчас в теме
(3) Визуальный лоск через ADO Вы особо не наведете... технология ADO - это технология работы с базами данных со всеми вытекающими последствиями, достоинствами и недостатками ...
9. markers 274 21.04.10 12:32 Сейчас в теме
(8) Да я знаю, просто мечтаю.... есть просто задача ускорить формирование прайсов с 3-4 минут * 6446 строк * 7 колонок на более быстрое... Более быстрое это ADO, но с оформлением проблемы...
Сейчас у меня сделано прямое формирование прайс-листов через COM + COMSafetyArrays.
4. dav405 103 21.04.10 08:49 Сейчас в теме
Тут у меня проблема на ту же тему(Jet):
http://infostart.ru/public/65304/
Смогли ли победить?

http://support.microsoft.com/kb/257819/

A caution about editing Excel data with ADO: When you insert text data into Excel with ADO, the text value is preceded with a single quote. This may cause problems later in working with the new data.

Короче, не работает....
5. pga_dim 21.04.10 09:48 Сейчас в теме
Спасибо , дай ссылку где у Microsoft синтаксис подсмотреть по командам ADODB и по строке подключения .
10. ll13 1047 21.04.10 12:34 Сейчас в теме
(5)
http://support.microsoft.com/kb/316934/ru
http://www.connectionstrings.com/
Если что-то интересное найдете непременно напишите мне.
6. afanasko 35 21.04.10 10:46 Сейчас в теме
Хорошая статья!

У меня получилось сделать апдейт. Использовал следующий синтаксис команды:
UPDATE [МояТаблица] SET [Символьный] = 'йцукен' WHERE [Целый]=1234567

С удалением данных из таблицы возникнут проблемы. Данный драйвер не поддерживает удаление данных в связанных таблицах. Для удаления данных нужно использовать драйвер Fox Pro.
17. Makushimo 160 26.12.11 14:52 Сейчас в теме
(6) afanasko,
Объясните для тех кто в танке.

В статье инфа о том, как создать таблицу Ексель и в нее добавить строки,
и о том, как найти строку и изменить ее.

а Если нужно добавить строку в существующий лист файла Ексель, то как это сделать?
18. afanasko 35 26.12.11 17:32 Сейчас в теме
(17) Makushimo,
Если с помощью АДО, то очевидно, что нужно открыть существующий файл Эксель:
СтрокаПодключения = "
|Provider=Microsoft.Jet.OLEDB.4.0;
|Data Source="+ИмяФайлаЭксельСуществующий+";
|Extended Properties=""Excel 8.0;HDR=YES"";";

Connection = Новый COMОбъект("ADODB.Connection");

Connection.ConnectionString = СтрокаПодключения;
Connection.Open();
Показать


после этого данные добавляются легко:
Command = Новый COMОбъект("ADODB.Command");
Command.ActiveConnection = Connection;

Command.CommandText = "INSERT INTO [МояТаблица] (Символьный, Дата, Целый, Дробный) values ('АБВГДЕЁ', '12/4/1955', '1234567', '12345,6789')";
Command.Execute();
19. Makushimo 160 30.12.11 06:26 Сейчас в теме
(18) afanasko,
Мой код
Процедура КнопкаВыполнитьНажатие()
ВыбФайл = "D:\МойФайл.xls";

СтрокаПодключения = "
|Provider=Microsoft.Jet.OLEDB.4.0;
|Data Source="+ВыбФайл+";
|Extended Properties=""Excel 8.0;HDR=YES"";";
Connection = Новый COMObject("ADODB.Connection");

Попытка
Connection.ConnectionString = СтрокаПодключения;
Connection.Open();
Исключение
Сообщить("Ошибка чтения: "+СокрЛП(ВыбФайл)+" "+ОписаниеОшибки());
Возврат;
КонецПопытки;


Лист = "[Лист1$]";
Command = Новый COMObject("ADODB.Command");
Command.ActiveConnection = Connection;
Command.CommandText = "INSERT INTO "+Лист+"(Поле1, Поле2, Поле3, Поле4) values ('АБВГДЕЁ', 'ввв', 'ФАВУ', 'ФФФфФФ')";
Command.Execute();

Connection.Close();
КонецПроцедуры

Поле1, Поле2, Поле3, Поле4 - это названия колонок в первой строке листа1
выдает ошибку:

{Форма.Форма(233)}: Ошибка при вызове метода контекста (Execute): Произошла исключительная ситуация (Microsoft JET Database Engine): Несоответствие типов данных в выражении условия отбора.
Command.Execute();
по причине:
Произошла исключительная ситуация (Microsoft JET Database Engine): Несоответствие типов данных в выражении условия отбора.

я явно где-то чего-то недопонял.
скажите где?
20. afanasko 35 30.12.11 09:46 Сейчас в теме
(19) Makushimo,
Данный код у меня работает без проблем. Может ты пытаешься вставить строковые данные в колонки с типом значения "Дата" или "Число"?
28. Yury1001 1470 14.02.12 13:43 Сейчас в теме
(19) Про несоответствие типов добавлю, 1С неявно разделяет число десятичной ТОЧКОЙ, а передавать нужно обязательно ЗАПЯТУЮ, то есть явно Заменой или Форматом, а так же для 1С 8, думаю, нужно убирать разделитель триад (неразрывный пробел по умолчанию).
21. AlexO 135 16.01.12 02:23 Сейчас в теме
А почему везде примеры соединения через ADO только для изменений из 1C в Excel?
и нигде не нашел наоборот - из Excel в 1С. Везде только через Application (OLE).
А вроде чеерз ADO быстрее работает? Или уже без разницы? например, на загрузке 10 тыс строк.
(18) по-моему, вот это:
Extended Properties=""Excel 8.0...
обозначает версию Excel, и это Excel 2003 - а какая строка подключения для 2007-2010?
и где вообще можно подсмотреть строки подключения провайдера?
23. AlexO 135 16.01.12 03:23 Сейчас в теме
+(21) вот нашел (также и для (9) ):
Why Use ADO?
The use of ADO to transfer data to or retrieve data from an Excel workbook gives you, the developer, several advantages over Automation to Excel:
Performance. Microsoft Excel is an out-of-process ActiveX server. ADO runs in-process, and saves the overhead of costly out-of-process calls.
Scalability. For Web applications, it is not always desirable to automate Microsoft Excel. ADO presents you with a more scaleable solution to handle data in a workbook.
ADO can be used strictly to transfer raw data to a workbook. You cannot use ADO to apply formats or formulas to cells. However, you can transfer data to a workbook that is pre-formatted and the format is maintained. If you require "conditional" formatting after the data is inserted, you can accomplish this formatting with Automation or with a macro in the workbook.

"Зачем использовать ADO?
Использование ADO для передачи в- или получения данных из- книги Excel дает вам, разработчикам, несколько преимуществ над Automation в Excel:
- Выполнение. Microsoft Excel - это "внепроцессный" (запускается вне процессов) ActivX-сервер. ADO запускается "в процессах", и сохраняет преимущество как надстройки богатства возможностей внепроцессных вызовов.
- Масштабируемость. Для Web-приложений не всегда желательно использовать Automation в Microsoft Excel. ADO же предоставляет более масштабируемое решение для управления данными (чтение-запись) в книге Excel.
ADO может быть использвано конкретно для передачи данных в Книгу. Вы не можете использовать ADO для форматирования или внесения формул в ячейки.
Однако, вы можете перенести данные в Книгу с предварительным форматированием и обработкой. Если же вам потребуется "условное" форматирование уже после вставки данных в Книгу, вы можете добавить нужное форматирование с помощью Automation или с помощью макросов в Книге Excel."
http://support.microsoft.com/default.aspx?scid=kb;en-us;278973
kraynev-navi; +1 Ответить
25. ll13 1047 08.02.12 14:02 Сейчас в теме
(21) AlexO, Примеров чтения из Excel -> 1С через АДО полным полно.
Будет время напишу подробную статью посвященную этой теме, которая прольет свет на несколько не очевидных моментов.
11. v7plus 13 27.04.10 14:37 Сейчас в теме
Почему в созданной таблице excel стоит ' первым символом во всех ячейках, даже в заголовках?
12. ll13 1047 27.04.10 16:00 Сейчас в теме
(11) Потому что у экселя данный символ - это признак символьных данных.
13. v7plus 13 28.04.10 13:24 Сейчас в теме
Это я знаю. Как его убрать?
При создании колонок вроде явно пишем
Column.Type = 202;
imex = 1;
в строке соединения нелязя указать.
Что делать?
15. ll13 1047 04.05.10 10:42 Сейчас в теме
(13),(14) Все символьные типы, провайдер OLEDB предваряет этим знаком (так сказано на сайте microsoft), как от него избавиться я не знаю, если узнаете напишите тут. Но лично мне он никогда не мешал, более того даже в файле эксель который заполняется "вручную" предварять этим знаком символьные данные - хороший тон.
14. demonice 03.05.10 17:00 Сейчас в теме
Присоединяюсь к вопросу как убрать "'"?
38. artemavrin 28.04.15 16:20 Сейчас в теме
(14) demonice, может кому еще полезно будет, чтоб избавиться от апострофа ' в строковых данных необходимо сменить провайдера на Provider=Microsoft.ACE.OLEDB.12.0
16. rasswet 82 13.12.10 15:50 Сейчас в теме
с Экселем 2010 не работает.
строка подключения, которая работает Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\install\Export.xlsx;Extended Properties="Excel 12.0;HDR=NO;IMEX=1";
но при вставке таблицы пишет, что доступ только на чтение.
qwest; t278; +2 Ответить
22. AlexO 135 16.01.12 02:30 Сейчас в теме
(0) а в чем отличие подключения ADOX или через провайдера DB? по скорости, функциональности, или еще что?
24. пользователь 08.02.12 13:56
Сообщение было скрыто модератором.
...
26. haous 2 08.02.12 17:22 Сейчас в теме
Спасибо. Полезные вещи почерпнул для себя.
27. Yury1001 1470 14.02.12 13:37 Сейчас в теме
(0) Большое спасибо, плюсую дважды, первый реально рабочий материал по теме на сайте который позволил в пределах часа написать выгрузку большого объема данных в excel.
За две минуты обработка добилась ошибки:

Command.Execute();
{D:\DATABASE\ВИКОSALES.ERT(ХХ)}: Microsoft JET Database Engine: Переполнение электронной таблицы.

Но это уже проблема клиента, что у него больше 65536 строк:)))

Ещё раз мой респект!

P.S. На 7.7 всё арбайтен, капитально!
30. Genneral 20.04.12 01:34 Сейчас в теме
Промучался целый день, пытаясь сделать выгрузку в Excels через "Provider=Microsoft.Jet.OLEDB.4.0" регламентным заданием на стороне сервера 1с, на клиенте работает на сервере нет, и права крутил и что только не делал, оказалось все просто: Клиент 32-бит , Сервер 64-бит, а с 64-бит данный провайдер не работает, вот такой "нюанс".
31. IrinaKostroma 26.04.12 18:52 Сейчас в теме
Народ, а кто-нибудь сталкивался при переносе данных с тем что если в данных есть апостроф
(например в наименовании товара), то ругается и не грузит данные.
Если данные без апострофов то все работает нормально...
Что делать в таких случаях?

Код такой(часть):
Command.CommandText = "
|INSERT INTO [Table] VALUES ('"+парТаб.КодПоставщика+"','"+парТаб.КодПроизводителя+"','"+парТаб.НаименованиеТовараПоставщика+"','"+парТаб.ЦенаПоставщика+"')";
Command.Execute();
32. DoctorRoza 04.02.13 16:54 Сейчас в теме
Нужная информация, респект автору. ;-)
33. Dim Dimy4 28.06.13 14:52 Сейчас в теме
Тема раскрыта не полностью.
Попробуйте использовать в Excel именованный диапазон.
При чтении по диапазонам все путем.
А вот при записи, если у вас Именованный диапазон это 1 ячейка (и таких диапазонов несколько подряд в столбик).
Делаешь апдейт через РекордСет этого диапазона. Вместо того что бы обновить значение в ячейке именованного диапазона (адрес !$B$2) он обновляет ячейку в первой строке (с адресом !$B$1). Соответственно обновляешь следующий именованный диапазон (адрес !$B$4) опять обновляется ячейка с адресом (!$B$1).
Кто с таким сталкивался и как решить?
37. Dim Dimy4 20.04.15 12:50 Сейчас в теме
(33) Dim Dimy4,
пришлось делать через объект COMSafeArray
34. sick_russian 04.07.13 03:52 Сейчас в теме
А не подскажите пример запуска макроса в книге через адо?
35. Kinestetik 23 26.02.15 09:56 Сейчас в теме
Люди, такая проблема: в процедуре создаётся нетипизованная ТЗ, в которую из EXCEL через ADO выкачиваются данные. Проблема в следующем: есть ячейка с дробным числом: 0,54 - АДО её считывает, в рекордсете она есть, а при попадании в ТЗ -> NULL....

Файло прикладываю
Прикрепленные файлы:
МатрицаЗаказовБоржоми.epf
Распоряжение_ТИ000009253.XLS
36. Kinestetik 23 26.02.15 11:43 Сейчас в теме
Народ, решилось всё. Был запрятан узкий столбец, из за него нулл выходил
39. skyvixen 32 22.03.17 20:05 Сейчас в теме
Кто подскажет как адекватно задать имя листа книги, содержащий пробелы и тире?
Оставьте свое сообщение