Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

20 Июнь 2018, 21:51 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Доступно и просто о работе в офисных пакетах
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Помогите написать макрос обработки прайса.  (Прочитано 579 раз)
0 Пользователей и 1 Гость смотрят эту тему.
ink-service
Новичок
*
Offline Offline

Сообщений: 5


« Стартовое сообщение: 15 Февраль 2018, 16:47 »

Всем доброго дня.
Ищу кто может за плату написать макрос обработки прайса, или с энтузиазмом помочь реализовать мне это:
Программкой создается прайс лист, но вид его обчный банальный. Его нужно с помощью макроса обработать придать вид более мене удобный. Расширить колонки, выделить заголовки, добавить фильтр по колонкам, написать заголовок и т.п.  и сохранить его в папке.
Записан
economist
Ветеран
*****
Offline Offline

Сообщений: 896


« Ответ #1: 16 Февраль 2018, 12:47 »

Для начала попробуйте макрорекордером записать все действия и применить записанный  макрос на "сырой" прайс.

Если речь о LibreOffice Calc - то можно записать макрос в MS Excel (там макрорекордер намного точнее и не такой "болтливый") - и вставить полученный код макроса в Calc, в модуль, вверху которого добавить две строки:
Код:
Option VBASupport 1
Option Compatible

Этот может оказаться даже эффективнее, чем запись в Калке.  
Ну и если что-то "не записалось" - можно дописать ручками.

Но я бы на вашем месте ничего этого не делал. А взял бы сделал на втором пустом листе
формулу =Прайс.A1, ссылающуюся на "сырую" ячейку прайса на листе, растянул на весь лист. И отформатировал всё, как надо, включил бы фильтр. Нужны подзаголовки - вставьте строку (хотя это должна делать "основная" программа). И никаких макросов.

Также можно сделать это все в отдельном ODS-файле, который будет обновляться при открытии.
Записан

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...
ink-service
Новичок
*
Offline Offline

Сообщений: 5


« Ответ #2: 16 Февраль 2018, 14:04 »

Спасибо за ответ..
Во втором предложенном варианте, как тут осуществить тогда так чтобы это все работало автоматически.
Алгоритм такой:
Программой учета (не 1С) создается файлик (причем формат можно задать любой XLSX, CSV, XML, ODS) - выгружается этот файлик в папку - после выгрузки запускается программа обработки, приведения его в нужный вид - закрывается, сохраняется файл в итоге в формате XLSX (или XLS).
Записан
economist
Ветеран
*****
Offline Offline

Сообщений: 896


« Ответ #3: 17 Февраль 2018, 21:45 »

Ну, давайте попробуем. Не исключено что это первый в РФ случай использования данного способа (и он не единственный).  
 
1) сохраняете свой CSV, разделитель полей самый лучший - табуляция (в 1С так и есть для формата TXT)

2) В Calс - Лист - Вставить лист из файла - поставить флаг Связь с файлом - Обзор... - выбрать CSV/TXT, разделитель Табуляция или какой есть, проверить читаемость и есичо выбрать кодировку.

3) На соседнем листе Прайс написать формулу и протянуть её на нужный диапазон. Чтобы не было нулей - их можно "не показывать" в настройках (см. вложенный фай)

4) Отформатируйте лист Прайс как надо. Можно делать почти все - заливку, шрифт, выравнивание, форматы, автофильтр итп.
Нельзя (но если подумать - можно) вставлять строки, бездумно объединять ячейки итп. Начните сами и дальше догадаетесь.

Данные из CSV будут считываться при открытии файла ODS (будет запрос). Это можно делать и автоматом.

Пример я приложил, сохраните на диск D: в корень оба файла, откройте ODS.
CSV можно, кстати, обновлять и исправлять прямо на ходу, даже вручную.
Переоткрытие ODS - тут же обновит данные на листе 123. А остальное за вас сделает Calc своими формулами.
Автофильтр (включенный) - нужно передернуть ручками, чтобы он сработал но это скорее всего и нужно.  

Связь поддерживается только с файлом формата ODS. В xls сохраняйте сами, копию, ту что отсылать клиентам.
      

* 123.csv (0.06 Кб - загружено 3 раз.)
* КрасивыйПрайсИзCSV.ods (10.65 Кб - загружено 6 раз.)
« Последнее редактирование: 17 Февраль 2018, 21:52 от economist » Записан

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...
ink-service
Новичок
*
Offline Offline

Сообщений: 5


« Ответ #4: 18 Февраль 2018, 04:42 »

Тут все понятно. Но, как мне сделать  это все так чтобы это работало без участия пользователя?, например через планировщик (тут конечно не проблема). Например в  10 вечера запустилось все создалось и положилось в папку. Потом этот полученный прайс красивый в XLSX отправляется по почте клиентам (или выгружается на FTP).
Записан
economist
Ветеран
*****
Offline Offline

Сообщений: 896


« Ответ #5: 18 Февраль 2018, 11:30 »

Если, скажем, речь об 1С7/8 - то в ней, обработкой, по расписанию, - формируйте Прайс с нужными форматами, и отправляйте прайс прямо сервером 1С. Цена данного функционала - примерно 30 тыс. руб., если хорошо поискать фрилансеров. В Москве 50+. Или можете пообещать премию вдвое меньше штатному айтишнику. Только дайте месяц-два.

И вообще, не морочьте людям голову с табличным форматом прайса, OpenOffice|LibreOffice здесь лишне звено, раз все "автоматическое" и можно делать в 10 вечера :-) То что вы написали с формированием неизвестной "программкой" и отправкой - без макроса/скрипта в Calc или "снаружи" - не сделать.

Та же 1С умеет выгружать прайсы в де-факто международном стандарте CommercеML. Он загружается в учетную программу и вы видите документы (прайсы, накладные, с/ф, УПД-шки - итд-шки) поставщика/покупателя - в вашей или их номенклатуре (на выбор). Вот это настоящая, "деловая" Красота прайса, а не цветные клеточки и автофильтр.

Либо пишете на веб-сайте/1С кабинет клиента и даете ему доступ к своей базе цен и остатков.  

 
« Последнее редактирование: 18 Февраль 2018, 14:12 от economist » Записан

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...
Bigor
Старожил
****
Offline Offline

Пол: Мужской
Сообщений: 274


« Ответ #6: 18 Февраль 2018, 12:11 »

Какая ОС?
Записан
ink-service
Новичок
*
Offline Offline

Сообщений: 5


« Ответ #7: 19 Февраль 2018, 08:36 »

Нет, у меня не 1С!!  я уже писал выше.!   Не важно даже что у меня, есть итоговый просто файл CSV (или могу получить  любой XLSX, CSV, XML, ODS).. Его же не положишь на FTP для скачивания клиентам,  ну не читабельный он  для обычных клиентов, даже если он просто ЭКСЕЛЬ,  там по колонкам уже раскидано все но не "красиво", кучей, без выделеных заголовков, фильтров..  Клиенту нужно дать готовый прайс.
Операционка WinServer R2 2008..  в принципе можно делать и на отдельном компе в сети  операционка Win7
Записан
economist
Ветеран
*****
Offline Offline

Сообщений: 896


« Ответ #8: 19 Февраль 2018, 08:47 »

Если так сложно назвать программу, в которой формируется прайс, - тогда мой вариант с формульным форматированием + макрос вам подойдет.

Или даже без макроса: создать в почтовом клиенте список рассылки на 200 покупателей в виде ОДНОГО адреса, открыть Calc, ответить "Обновить", убедиться глазами что все ОК, нажать Файл - Отправить - Документ элпочтой - вести адрес рассылки - Enter - займет 1 минуту в день. 220 минут в год, даже 4 часов не наберется.

Это не те трудозатраты, которые стоит автоматизировать макросом, потратив на его составление 3 дня. 
Записан

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...
ink-service
Новичок
*
Offline Offline

Сообщений: 5


« Ответ #9: 19 Февраль 2018, 08:50 »

Да нет не сложно назвать. Memo4x4.   просто смысл,  речь то идет о готовом файле уже, не важно как он получается.
Рассылку так и делаем ручками.. Но Это зависимость от персонала, он то забыл. то заболел, то еще какая оказия - не без этого..
а Машина  - это надежно, работа то "обезьянья" )))..   просто автоматизировать это)
Записан
Bigor
Старожил
****
Offline Offline

Пол: Мужской
Сообщений: 274


« Ответ #10: 19 Февраль 2018, 11:14 »

Выкладывай образец и то что нужно получить
Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!