Обертка функций Excel на русском. Ускорение процесса разработки.

0. 57 24.10.19 09:21 Сейчас в теме
Устали переключаться с русского на английский и обратно при работе с таблицами Excel из 1С?
Сборка наиболее необходимых функций и методов работы с Excel, обернутых в функции 1С на русском языке.

Перейти к публикации

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. ZloyProger 8 28.10.19 10:58 Сейчас в теме
Плюсик в карму автору) Ещё бы знать по какой такой неведомой причине ком-объект экселя начинает "вредничать" и методы то срабатывают, то не срабатывают (помню маялся с определением последней строки - то искал, то не искал, в конце концов пришлось захардкодить :-()... Из-за этого отказался от чтения экселя, сразу как табличный документ читаю и там уже своё, родное ЖКК (правда только на небольших файлах, на больших и ком-объект экселя не спасает, там уже надо через ADO).
2. aspirator23 474 31.10.19 10:15 Сейчас в теме
Спасибо за функции. "цифАрки" - это из старославянского?
3. user717498 31.10.19 11:33 Сейчас в теме
Необходимо дополнить процедурой установки параметров страницы Excel для печати

Процедура УстановитьПараметрыСтраницыДляПечати(Excel,Книга,НомерЛиста)
//до обращения к процедуре должно быть прописано
//Excel= новый COMОбъект("Excel.Application");
//Книга = Excel.WorkBooks.Open(ИмяФайла);
//НомерЛиста = 1;
Лист = Книга.WorkSheets(НомерЛиста);
Лист.PageSetup.LeftMargin = Excel.CentimetersToPoints(2); //отступ слева 2 см
Лист.PageSetup.RightMargin = Excel.CentimetersToPoints(5/10); //отступ справа 0.5 см
Лист.PageSetup.TopMargin = Excel.CentimetersToPoints(1); //отступ сверху 1 см
Лист.PageSetup.BottomMargin = Excel.CentimetersToPoints(1); //отступ снизу 1 см
Лист.PageSetup.HeaderMargin = Excel.CentimetersToPoints(0); //верхний колонтитул 0 см
Лист.PageSetup.FooterMargin = Excel.CentimetersToPoints(5/10); //нижний колонтитул 0.5 см
Лист.PageSetup.Orientation = 1; //портрет, если 2 - ландшафт
Лист.PageSetup.Zoom = 100; //100% масшстаб,
//если по ширине страницы, то Лист.PageSetup.Zoom = False;
//и добавить 2 строки:
//Лист.PageSetup.FitToPagesWide = 1; - по ширине страницы
//Лист.PageSetup.FitToPagesTall = False;
Лист.PageSetup.RightFooter = "&p";//номер страницы в правом нижнем колонитутле (варинат "стр. &p")где p это англ "пи"
//вариант для верхнего колонитула Лист.PageSetup.RightHeader = "&p";

КонецПроцедуры
4. DmitryKotov 57 01.11.19 07:14 Сейчас в теме
(3) За добавку функций огромное спасибо.
У меня была мысль собрать это все в расширение
Ваша процедура в обертке будет выглядеть так (например) :

Получаем лист
Лист = Екс_ПолучитьЛист(КнигаExcel, ИмяНомерЛиста);


Процедура УстановитьПараметрыСтраницыДляПечати(Лист, ОтступСлева, ОтступСправа и т.д.) (а можно и структуру отступов и других параметров передать)

Лист.PageSetup.LeftMargin = Excel.CentimetersToPoints(ОтступСлева); //отступ слева 2 см (или СтруктураОтступов.ОтступСлева
Лист.PageSetup.RightMargin = Excel.CentimetersToPoints(ОтступСправа); //отступ справа 0.5 см

....
и т.д.
....

Если ЕстьFooter (если передали нижний колонтитул, то делаем

Лист.PageSetup.RightFooter = "&p";//номер страницы в правом нижнем колонитутле (варинат "стр. &p")где p это англ "пи"
//вариант для верхнего колонитула Лист.PageSetup.RightHeader = "&p";

КонецПроцедуры
6. DmitryKotov 57 01.11.19 07:17 Сейчас в теме
5. DmitryKotov 57 01.11.19 07:16 Сейчас в теме
(2) :)
что-то вроде того :)
копи-паст с какой-то статьи
Оставьте свое сообщение
Вопросы с вознаграждением
Вакансии
Тестировщик 1С
Санкт-Петербург
зарплата от 60 000 руб. до 120 000 руб.
Полный день

Архитектор НСИ
Москва
зарплата от 250 000 руб. до 300 000 руб.
Полный день

Старший программист 1С
Москва
зарплата от 300 000 руб. до 400 000 руб.
Полный день

Программист 1С
Мытищи
зарплата от 150 000 руб. до 200 000 руб.
Полный день

Архитектор 1С
Белгород
зарплата от 200 000 руб. до 250 000 руб.
Полный день