СПОСОБ ПОИСКА НАИМЕНОВАНИЙ СВОЙСТВ И МЕТОДОВ VBA EXCEL С ПОМОЩЬЮ ЗАПИСИ МАКРОСОВНа практике часто случается, что нужно решить какую-либо задачу, иногда довольно тривиальную с точки зрения пользователя Excel (к примеру изменить фон ячейки в Excel, добавить левую границу и т.д.), а решение в сети/документации искать не хочется или не получается,
(
Read more... )
Comments 24
Система категоризации Живого Журнала посчитала, что вашу запись можно отнести к категории: IT.
Если вы считаете, что система ошиблась - напишите об этом в ответе на этот комментарий. Ваша обратная связь поможет сделать систему точнее.
Фрэнк,
команда ЖЖ.
Reply
Кто-то ещё использует?
Гуглотаблицы сейчас дают просто охренительные возможности, в связке с редактором скриптов.
Reply
Microsoft уже сообщала, что больше не планирует развивать Visual Basic (VB) и добавлять для него новые функции.
Reply
Эксель = СоздатьОбъект("Excel.Application");
Книга = Эксель.WorkBooks.Open(ПутьКФайлу);
Лист = Книга.WorkSheets(1);
ВсегоКолонок = Лист.Cells(1,1).SpecialCells(11).Column;
ВсегоСтрок = Лист.Cells(1,1).SpecialCells(11).Row;
Для Строка = 1 По ВсегоСтрок Цикл
Для Колонка = 1 По ВсегоКолонок Цикл
Значение = СокрЛП(Лист.Cells(Строка,Колонка).Value);
КонецЦикла;
КонецЦикла;
Reply
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
Для этого можно использовать метод:
СоздатьОбъект("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