Как включить макросы в LibreOffice Calc. Использование макросов в LibreOffice Libreoffice включить макросы


Интерфейс

но коренным образом отличается от Microsoft Office Excel 2010.

В MS Excel 2010 присутствует так называемая "лента меню" - революционное решение от компании Microsoft , внедренное в MS Office 2007, которое многим пришлось не по душе и даже были разработаны специальные утилиты , возвращающие внешний вид MS Office 2010 к MS Office 2003.

Рассмотрим более детально важнейшие элементы меню вышеуказанных редакторов электронных таблиц.

В редакторах электронных таблиц (MS Excel, OOo Calc, LiO Calc, IBM Lotus Symphony Spreadsheets и т.д.) важнейшим элементом является "ячейка" и все операции, совершаемые в редакторах электронных таблиц, применяются именно к ячейкам или их группе (строки, столбцы и т.д.). Поэтому в первую очередь рассмотрим элементы меню, касающиеся форматирования ячеек.

В LiO Office, как и в MS Office 2003, форматирование ячеек осуществляется через пункт меню - "Формат / Ячейки" или сочетанием клавиш "Ctrl + 1".

В MS Excel 2010 форматирование ячеек осуществляется на вкладке "Главная".

Другие элементы меню MS Excel 2010 (Вставка, Разметка страницы, Формулы, Данные, Рецензирование и т.д.) в LiO Calc находятся в схожих по названию пунктах меню.

Следующим важнейшим элементом электронных таблиц являются "Функции", или они же "Формулы".

В MS Excel и LiO Calc названия (аббревиатуры) всех формул схожи, поэтому переход с MS Excel на LiO Calc для специалистов, работающих в MS Excel, будет не сложным Довольно детальный перечень функций и их соответствие в MS Excel и OOo Calc (LiO Calc) опубликованы на сайте компании "Инфра-Ресурс" , ведущего интегратора решений на базе OpenOffice.org в Российской Федерации. Но здесь есть и "подводные камни"... Это - горячие клавиши. Для тех, кто привык работать в MS Excel с помощью горячих клавиш, могут возникнуть определенные неприятности, но как и для рядовых пользователей, так и для организаций, факт того, что на одной копии MS Excel можно сэкономить, как минимум, $55, может послужить довольно серьезным стимулом к переходу на LiO.


Совместимость

Одним из самых "больных мест" при переходе с MS Excel на LiO Calc являются проблемы с совместимостью, и самая большая проблема - работа с макросами. Это проблема являлась особо острой для версий OpenOffice.org 1 и 2, начиная с 3-й версии в OpenOffice.org и LibreOffice этот вопрос практически решен. LibreOffice Calc 3.5 может выполнять большинство макросов MS Excel. Включается / выключается эта функция в меню: Сервис > Параметры > Загрузка / Сохранение > Свойства VBA

Аналогом VBA в LiO Calc является макроязык StarBasic (его разновидность - LibreOffice Basic), использующий ту же логику программирования, что и Microsoft Visual Basic, поэтому специалистам, работавшим в MS Excel с макросами, будет несложно освоиться в LiO Calc.

Аналогом VBA в LiO Calc является макроязык StarBasic.

Тем не менее, проблемы все же остались. Дело в том, что средой, в которой пишутся макросы, является офисный пакет, а не макроязык. Таким образом, язык программирования является не самостоятельной средой, а полностью зависимой от внутренней объектной структуры офисного пакета и реализованной в нём системы вызова команд. Результатом является техническая невозможность обеспечить полную совместимость макроязыков разных офисных пакетов. Поэтому нужно переписывать макросы Microsoft Office перед их запуском в OpenOffice.org или LibreOffice. Далее, чтобы не вдаваться во все технические подробности, скажу, что существуют программы-конверторы, которые значительно упрощают работу с макросами VBA в LibreOffice. Также очень детально рассмотрены все возможные вопросы по работе с макросами VBA в среде OpenOffice на сайте компании "Инфра-Ресурс" (см. выше) в разделах "База знаний" и "Поддержка пользователей OpenOffice.org" .

Ну и в закрепление ко всему вышесказанному, проверим на практике совместимость документов MS Excel и LiO Calc. Для этого возьмем готовые шаблоны бухгалтерских документов с сайта журнала "Главный бухгалтер" , которые подготовлены с помощью MS Excel 97-2003 (расширение XLS) и MS Excel 2010 (расширение XLSX), и в которых используется большое количество математических и экономических функций. В результате работы с файлами (открытие, редактирование, сохранение, конвертация в ODS) была замечена следующая закономерность: как правило, ошибки при включении макросов возникали в версиях файлов, сохраненных в формате MS Excel 98-2003 (.xls). В версиях же, созданных в MS Excel 2007-2010, ошибки возникают значительно реже.

Файлы, созданные в MS Excel без использования макросов, открываются, читаются, редактируются и т.д. вообще без каких-либо проблем. Конвертация из XLSX в ODS и обратно, также выполняется без ошибок с сохранением параметров форматирования текста.

Файлы, созданные в MS Excel без использования макросов, открываются, читаются, редактируются и т.д. вообще без каких-либо проблем.


Выводы

Таким образом, мы можем сделать следующие выводы.

Что касается интерфейса LibreOffice Calc, то у пользователей, ранее работавших в MS Excel 98-2003, проблем с переходом на Calc возникнуть не должно, а те, кто привык работать с "ленточным" интерфейсом MS Excel 2007 - 2010, будут вынуждены попривыкнуть к немного другому виду рабочего окна.

Данные в LiO Calc вводятся, редактируются, сортируются также как и в MS Excel. Расчеты производятся в LiO Calc с помощью тех же функций, что и в MS Excel.

Что же касается сложностей работы с макросами, то следует отметить, что в версиях LiO Calc и OOo Calc выше 3.0 эта проблема практически решена, а при возникновении каких-либо ошибок есть возможность конвертации макросов VBA в LibreOffice Basic.

Сергей РЫЖКОВ

По состоянию на сейчас в LibreOffice управление макросами реализовано в интерфейсе через одно место.

Проблемы, как я их вижу, такие:

Из меню Сервис->Макросы->Управление макросами доступны ЧЕТЫРЕ разных диалога управления макросами, для каждого доступного языка отдельно. Basic, JavaScript, BeanShell и Python. Причем все они разные.

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

Кнопка Правка во всех диалогах позволяет редактировать сам макрос, а вовсе не имя/положение библиотеки/модуля/диалога.

Я предлагаю всё это безобразие упразднить и сделать ОДИН диалог для управления макросами и запуска макросов.

Вот такого примерно вида (я на английском делал, потому что в багзилле так ВСЕ поймут, о чем речь и зачем):

В левой части диалога мы именно управляем библиотеками/модулями/диалогами, а также умеем делать импорт/экспорт. А в правой части мы работаем непосредственно с макросами: запускаем, назначаем макросы на события и редактируем их, если надо.

Никакого разделения по языкам программирования не нужно, в силу того, что LibreOffice сам различает на каком языке программирования написаны макросы в библиотеках и, я так понимаю, не допустит, чтобы из библиотеки Basic запустился модуль на Python. А значит и в моем варианте диалога нужно заставить LibreOffice значками выделять библиотеки/модули на разных ЯП и они все просто будут иерархически в одном дереве.

Есть ещё один момент: в текущей версии LibreOffice для работы с макросами на Python нужно внешнее расширение APSO . Без него не получится даже создать соответствующую библиотеку. Почему так сделано, я не очень понимаю, как и то, почему это расширение не включено в базовую поставку LibreOffice, раз базовый функционал просто нерабочий.

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

Любые материалы я публикую в двух форматах - odt и pdf . Последний удобен для распространения. Экспорт в pdf осуществляется штатными средствами LibreOffice через диалог «Файл → Экспорт в PDF ». В процессе вычитки руководства и исправления в нём ошибок приходится часто пересохранять документ. И чтобы каждый раз вручную не экспортировать документ, я подумал, что было бы неплохо если бы это происходило автоматически при сохранении odf файла. И знание языка макросов LibreOffice в данном случае абсолютно не нужно.

Задача решается с помощью функции записи макроса. По умолчанию она недоступна. Чтобы включить ее перейдите в «Сервис → Параметры » в разделе «LibreOffice » выберите пункт «Расширенные возможности » и установите галочку напротив «Включить запись макросов ».

После перезапуска LibreOffice во вкладке «Сервис → Макросы » появится пункт «Записать макрос ».

После нажатия «Сервис → Макросы → Записать макрос » на экране всплывет окошко с кнопкой «Завершить запись ».

Суть проста:

  1. Включите запись макроса
  2. Выполните необходимое действие пока идет запись. В моем случае я просто выполнил экспорт в PDF через «Файл → Экспорт в PDF »
  3. Нажмите кнопку «Завершить запись »
Все, макрос экспорта в PDF записан, остается только сохранить его.

Для удобства я создал модуль «Export_to_PDF » в библиотеке «Standard » и сохранил свой макрос в этом модуле.

Теперь остается только назначить срабатывание макроса на определенное событие. В нашем случае на сохранение документа. Идем в «Сервис → Настройка » на вкладку «События ».

Работа конвертеров основана на макрокомандах (макросах). Обычно макросы применяют для выполнения рутинных действий. Мы же будем использовать их для формирования файлов в ИФНС.

По умолчанию использование макросов отключено в Excel и LibreOffice Calc. Нужно самостоятельно один раз включить их. Сделать это очень легко.

Как включить макросы в Microsoft Excel 2007, 2010

Щелкаем на кнопку Файл в левом верхнем углу и выбираем Параметры в открывшемся меню:

В появившемся диалоговом окне выбираем Центр управления безопасностью и Параметры центра управления безопасностью .

В окне выбирайте — Параметры макросов и затем отметьте пункт Включить все макросы

ОК

После этого вам также необходимо закрыть и открыть файл Excel, чтобы изменения вступили в силу. В дальнейшем макросы будут запускаться в Excel 2007 автоматически.

Как включить макросы в LibreOffice Calc

После установки откройте программу Calc . В меню Сервис выбираем Параметры .

Выбираем пункт Безопасность и нажимаем на кнопку Безопасн. макросов

Выбираем уровень Средний (в этом случае при запуске макроса нужно подтверждать его работу дополнительным нажатием на кнопку) или Низкий .

Подтвердите свой выбор, нажатием ОК во всех открытых диалоговых окнах.

Новости проекта:

Теперь подтвердить экспорт можно с помощью Конвертера реестра подтверждения экспорта . Как и все наши продукты этот конвертер поможет Вам эффективно использовать время при составлении декларации по НДС.

Заполнить декларацию по НДС за 1 квартал 2016г. помогут актуальные версии конвертеров . Мы по прежнему продолжаем поддержку всех наших клиентов во время декларационной компании.

Декларационная кампания за 4 квартал 2015г. - все версии конвертеров по прежнему актуальны и могут быть использованы для сдачи отчета. Последние версии конвертеров - самые удобные для использования.

19 июля появилась возможность формировать книги покупок и продаж для загрузки в Налогоплательщик ЮЛ напрямую (не через декларацию).

31 мая обновлены конвертеры для формирования декларации по НДС. Об изменениях можно прочитать .

За декларационную компанию за 1 квартал по НДС мы получили по электронной почте более 300 "Спасибо" от налогоплательщиков:) !

16 апреля 2015 на серверах хостинг провайдера произошел сбой, в связи с чем сайт работал нестабильно. В настоящий момент проблемы устранены.

15 апреля 2015 стал доступен конвертер Уведомления о контролируемых сделках .

Конвертеры Декларации по НДС

  • ГЛАВНАЯ

Инвайт получен. :)

Привет, хабражители!
Сегодня я хочу Вам рассказать об использовании макросов в LibreOffice.

Предисловие
Каждый день дома и на работе мы пользуемся офисными приложениями для выполения каких-либо задач. Часто бывает так, что Вы специализируетесь на одной работе и в итоге выполняете одни и те же задачи: вставляете один и тот же текст, форматируете его, используя большое количество горячих клавиш. Во всех этих случаях можно сэкономить Ваше ценное рабочее время, автоматризировав некоторую Вашу работу.
Далее в статье я Вам расскажу об использовании макросов в LibreOffice.

Что же такое макросы и зачем они?

Макрос - это последовательность определенных действий, который можно записать с помощью обычного меню. Когда вы выбираете запись макроса, выполняемые вами действия автоматически сохраняются в виде кода скрипта. И в дальнейшей вашей работе он будет уже выполняться самостоятельно, в точности повторяя Ваши действия в программе. Макрос может быть как простым, так и очень сложным - все зависит от того, какой Вам необходимо добиться результат. Главные критерии, которые предъявляются к макросам - это быть мощным и одновременно простым в использовании. Макросы пакета LibreOffice отвечают именно таким требованиям. Давайте попробуем это на практике.

Для использования пакета LibreOffice, Вам нужно иметь предустановленную операционную систему Linux, Windows или MacOS, a так же установленный пакет LibreOffice (установить его можно, к примеру, из ppa-репозитиев, как описано в топике)

Управление макросами

Перед тем как мы приступим к созданию своего макроса, нам нужно познакомится с инструментом управления макросами. Переходим по пути Tools - Macros - Organize Macros - LibreOffice Basic Macros (Сервис - Макросы - Управление макросами - LibreOffice Basic Macros):

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

Хочу отметить, что создание макроса в автоматическом режиме (запись) предполагает хотя бы небольшое знание языка написания макросов, так как иногда нам понадобится его редактировать. Для того чтобы увидеть, как выглядит макрос, выбираем нужный нам макрос и нажимаем Edit (Редактировать). Ниже предоставлен пример, как выглядит макрос в исходном коде:

Возьмем простой пример. Мы имеем некий текст, уже вставленный в документ и нам нужно сделать заголовок для него, так как наш текст будет использоваться в деловой переписке.
Наш будущий макрос должен будет уметь:
- расположить текст наверху по центру страницы;
- ввести текст, который и будет использоваться в качестве заголовка.
После того, как создадим макрос, мы назначим ему кнопку на панели инструментов. После достаточно будет одного щелчка мыши, чтобы вставить заголовок в документ.
Выполним последовательность шагов.

Шаг 1.
Открываем текстовый документ. Перейдем Tools - Macros - Record Macro . Появится маленькое окно «Запись макроса» с одной единственной кнопкой «Завершить макрос» (Stop Recording ):

Шаг 2.
Создадим заголовок текста. Щелкнем мышью на кнопке «Center alignment» («По центру»), для того, чтобы наш будущий текст был именно по центру документа. Теперь пишем сам текст заголовка. Не стоит задавать различные форматы для него (шрифт или жирный/курсив/подчеркнутый), так как макрос не запоминает такие действия.

Шаг 3.
После того, как создание заголовка завершено, щелкните мышью на кнопке «Завершить макрос» окна «Запись макроса». Сразу появится окно Органайзера макросов. Задайте имя для нового макроса (например,PostHead). Теперь можно сохранить его в то место, где бы вы хотели (например, папка "My Macro ").

Шаг 4.
Теперь нам осталось добавить кнопку на панели инструментов для макроса PostHead . Процесс этот не так прост, как казалось бы на первый взгляд.
Открываем LibreOffice Basic Macros, нажимаем кнопку "Assign " («Назначить»). Появится следующее окно Customize , в котором нам следует перейти на вкладку Toolbars и убедиться в том, что в поле «Панель инструментов» стоит «Стандартная» (Standart ) .

Нажимаем в этом окне кнопку «Добавить» (Add ). Появится еще одно окно - «Добавление команд» (Add commands ).
В списке левого окна «Категории» (Category ) находим "LibreOffice Macros " (в самом низу списка). Открываем его и добираемся до нашего макроса. Как только нашли - осталось выполнить последний и самый простой шаг. Перетаскиваем мышью макрос Letterhead в то место панели инструментов, где бы мы хотели его видеть.
Все, с задачей справились.
Теперь все, что нам необходимо делать - это пользоваться кнопкой PostHead, которую мы добавили на панель. Например, открываем новый документ и нажимаем кнопку PostHead . Наш макрос создаст заголовок, именно с тем текстом, который мы «назначили» ему и разместит его наверху документа точно по центру.
Правда удобно?

Итог
Конечно, в моем примере мы создали очень простой макрос. Но с помощью вышеописанных инструментов вы можете создать и очень сложные макросы. И не только в Writer , но и во всех остальных приложениях пакета LibreOffice (Spreadsheet, Presentations и т. п.). Теперь, когда Вы знаете, как создавать макросы, вы можете легко создавать свои собственные, для того, чтобы облегчить свою работу.
Целью данной статьи является изучение основ работы с помощью инструментом для записи макросов.