1С: Работа с Excel (1 часть)

Aug 15, 2022 15:25

СПОСОБ ПОИСКА НАИМЕНОВАНИЙ СВОЙСТВ И МЕТОДОВ VBA EXCEL С ПОМОЩЬЮ ЗАПИСИ МАКРОСОВНа практике часто случается, что нужно решить какую-либо задачу, иногда довольно тривиальную с точки зрения пользователя Excel (к примеру изменить фон ячейки в Excel, добавить левую границу и т.д.), а решение в сети/документации искать не хочется или не получается, ( Read more... )

программирование

Leave a comment

Comments 24

lj_frank_bot August 15 2022, 12:27:22 UTC
Здравствуйте!
Система категоризации Живого Журнала посчитала, что вашу запись можно отнести к категории: IT.
Если вы считаете, что система ошиблась - напишите об этом в ответе на этот комментарий. Ваша обратная связь поможет сделать систему точнее.
Фрэнк,
команда ЖЖ.

Reply


mcmlxxxii August 15 2022, 12:51:16 UTC
Ого, VBA ещё жив?
Кто-то ещё использует?

Гуглотаблицы сейчас дают просто охренительные возможности, в связке с редактором скриптов.

Reply

luckyea77 August 16 2022, 05:12:31 UTC
Я VBA на работе часто использую, но с переходом на российскую ОС и российский офисный пакет всё поменяется.

Microsoft уже сообщала, что больше не планирует развивать Visual Basic (VB) и добавлять для него новые функции.

Reply


luckyea77 August 16 2022, 06:58:55 UTC
Ниже приведен отрывок кода, запустив который мы прочитаем все данные с первой страницы:

Эксель = СоздатьОбъект("Excel.Application");
Книга = Эксель.WorkBooks.Open(ПутьКФайлу);
Лист = Книга.WorkSheets(1);

ВсегоКолонок = Лист.Cells(1,1).SpecialCells(11).Column;
ВсегоСтрок = Лист.Cells(1,1).SpecialCells(11).Row;

Для Строка = 1 По ВсегоСтрок Цикл

Для Колонка = 1 По ВсегоКолонок Цикл
Значение = СокрЛП(Лист.Cells(Строка,Колонка).Value);
КонецЦикла;

КонецЦикла;

Reply


luckyea77 August 16 2022, 07:00:17 UTC
Excel - основные методы и конструкции языка, подключение через COM - соединение (1С: v8 и v7: Программисту: Язык программирования): https://1c-h.ru/2010/05/18/8-1-programmistu-yazyk-excel/

1С и работа с Excel, OpenOffice/LibreOffice, ADODB: https://wiki.rtzra.ru/software/1c/1c-excel-openoffice

1С 8: Работаем с файлами MS Excel, используя OpenOffice/LibreOffice: https://infostart.ru/1c/articles/87317/

Reply


luckyea77 August 16 2022, 07:03:13 UTC
Как обработать файл xls, если Excel не установлен на компьютере

Для этого можно использовать метод:

СоздатьОбъект("ADODB.Connection");

Код для 7.7, решающий такую задачу, будет выглядеть примерно так:

db = СоздатьОбъект("ADODB.Connection");
ConectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ИмяФайла+";Extended Properties="+"Excel 8.0;";
rs=CreateObject("ADODB.Recordset");
db.Open(ConectionString);
rs.ActiveConnection = db;
rs.CursorType = 3;
rs.LockType = 2;

//Чтобы задать Область, надо выделить область в екселе и нажать Вставка-Имя-Присвоить...
rs.Source = "Select * from [Лист$1]";
rs.Open();
КоличествоПолей = rs.Fields.Count;
Сообщить(КоличествоПолей);
КоличествоЗаписей = rs.RecordCount;
Сообщить(КоличествоЗаписей);
Если rs.Eof()=0 Тогда
Сообщить(rs.Fields(0).Value);
rs.MoveNext();
Иначе ТЗ.УстановитьЗначение(1,1,rs.Fields(1).Value);
КонецЕсли;
rs.Close();
db.Close();

Reply


Leave a comment

Up