"Привязать" макрос в панели инструментов в Либре.

Автор Tigrik, 31 января 2020, 00:14

0 Пользователи и 1 гость просматривают эту тему.

Tigrik

Здравствуйте!

Все-таки, решил потихоньку начать изучать макросы в Libre Calc (у меня стоит версия LibreOffice Версия: 6.3.4.2 (x64); Win7).
Последний раз я "макросил" в Экселе 20 лет назад - и на первый взгляд отличается, как небо и земля.

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

Сначала, у меня не сохранялись макросы и библиотеки к файлам (сохранялись только в разделе "Мои макросы"), пока не догадался поменять разрешение на .ods (было .xlsm). Надо думать, только в этом расширении (.ods) идет поддержка макросов в Либре?

Но что я так и не смог побороть - это установка макроса в меню или в панель инструментов. Выбираю категорию "Макрокоманды", вижу все три раздела (Макросы LibreOffice, Мои макросы и свой файл), но больше ничего не видно (ни библиотек, ни макросов).
Что надо сделать, что бы "зарядить" собственный макрос в меню или панель инструментов?

Можно привязать макрос к определенным событиям, но это не то, что мне нужно.

Спасибо.

kompilainenn

Цитата: Tigrik от 31 января 2020, 00:14Надо думать, только в этом расширении (.ods) идет поддержка макросов в Либре?
да,  именно так

Цитата: Tigrik от 31 января 2020, 00:14Выбираю категорию "Макрокоманды",
где выбираете?
Добавить пункт меню или значок на панель инструментов можно в диалоге Сервис-Настройка
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

economist

Цитата: Tigrik от 31 января 2020, 00:14"макросил" в Экселе 20 лет назад
Если в Calc в самом верху модуля  VBA написать две строки:

Option VBASupport 1
Option Compatible


и один раз в коде макроса выполнить


ThisComponent.BasicLibraries.VBACompatibilityMode=true  


а также понять настройки в Сервис - Параметры - Загрузка/Сохранение - Свойства VBA (флажки загрузить/сохранять немного неинтуитивны), то можно примерно 60% кода на VBA использовать вперемешку с LO Basiс, либо делать XLS файлы с макросами, которые будут работать и в Calc, и в Excel. Однако для этого нужно иметь Excel под рукой и быть готовым к "чудесам" несовместимости.

Тем не менее, если есть опыт в VBA - он пригодится. VBA в Calc выглядит очень компактно и работает с той же скоростью. Для микро-макросов пойдет. Знаю людей, которые в ODS используют строки VBA годами, и подтверждают что работает, а если и ломалось раз - чинилось в следующем релизе (как и многое другое, не связанное с макросами).    
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

bigor

Цитата: Tigrik от 31 января 2020, 00:14собственный макрос в меню или панель инструментов
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

Tigrik

Спасибо всем кто мне ответил.

Цитата: economist от 31 января 2020, 08:27
Тем не менее, если есть опыт в VBA - он пригодится. VBA в Calc выглядит очень компактно и работает с той же скоростью. Для микро-макросов пойдет. Знаю людей, которые в ODS используют строки VBA годами, и подтверждают что работает, а если и ломалось раз - чинилось в следующем релизе (как и многое другое, не связанное с макросами).   
Скорее всего, я постараюсь разобраться непосредственно в LibreOffice Basic.

Цитата: kompilainenn от 31 января 2020, 03:47
Цитата: Tigrik от 31 января 2020, 00:14Выбираю категорию "Макрокоманды",
где выбираете?
Добавить пункт меню или значок на панель инструментов можно в диалоге Сервис-Настройка
Цитата: Bigor от 31 января 2020, 09:36
Цитата: Tigrik от 31 января 2020, 00:14собственный макрос в меню или панель инструментов
Макрос_на_панель.PNG (16.89 Кб, 345x309)

Да, именно через Сервис-Настройки. Я не стал писать об этом, так как думал, что и есть единственный способ прикрепить макросы в меню или панель инструментов.

Непосредственно, только вчера я приступил к изучению макросов в ЛО. Столкнулся с тем, что необходима Java - скачал, поставил, перезапустил комп.
Начал разбираться с макросами и, в какой-то момент, решил "подвесить" пробные макросы к меню и панели инструментов. Вот тут и началась "засада" - никак не мог увидеть ЛЮБЫЕ МАКРОСЫ в категории "Макрокоманды" Сервис-Настройки. Много времени потратил в поисках по Инету, но, что могло мне помочь, не нашел.
Сегодня, сразу же, решил переименовать свой файл с макросом и посмотреть, что будет. ВСЕ МАКРОСЫ ВИДНЫ! Запускаю изначальный файл - тоже самое - всё видно. И ещё целый час возился, что бы попробовать найти вариант, который был вчера - тот, когда нельзя было бы вытащить макрос в меню. Даже файл без макросов запускал (.xlsm), все равно видны общие макросы.

Вроде бы, всё получилось, но как говорится "осадочек остался" - в чём была проблема?

---
Цитата: kompilainenn от 31 января 2020, 03:47
Цитата: Tigrik от 31 января 2020, 00:14Надо думать, только в этом расширении (.ods) идет поддержка макросов в Либре?
да,  именно так
Сегодня, когда получилось прицепить макрос в меню и панель инструментов, то сделал это ко всему Calc.
Теперь я могу открыть любую таблицу Calc даже с расширением .xlsx (где, как бы, нет поддержки макросов) и спокойно запустить макрос, правда, те, которые видны для всего Calc и при запуске файла не задается вопросов о наличие макросов (понятно, что в самом файле нет макросов, но есть связь с общими макросами через меню или панель инструментов).
Этому, кстати, не мешает и то, что выставляется уровень безопасности "Очень высокий" Сервис-Параметры-Безопасн.макросов.
Наверное, так и должно быть !?

mikekaganski

Цитата: Tigrik от 31 января 2020, 16:59Столкнулся с тем, что необходима Java

Если Вы не пишете в Java, то Java не нужна для макросов. Если у Вас показываются сообщения о необходимости Java, значит либо у Вас старая версия ЛО, либо надо писать багрепорт (я эти баги про ненужные запросы явы сам правлю).

Цитата: Tigrik от 31 января 2020, 16:59Сегодня, когда получилось прицепить макрос в меню и панель инструментов, то сделал это ко всему Calc.
Теперь я могу открыть любую таблицу Calc даже с расширением .xlsx (где, как бы, нет поддержки макросов) и спокойно запустить макрос, правда, те, которые видны для всего Calc и при запуске файла не задается вопросов о наличие макросов

Так и должно быть, конечно. Слова @Kompilainenn были о сохранении макросов в файле. Макрос можно создать и внутри XLSX, и он тоже будет работать ... до момента сохранения и переоткрытия, когда макрос  не будет записан. Ну, и уровень безопасности - это про макросы извне, когда заранее неизвестно, что сейчас запустится. Макросы в общих библиотеках - это "свои".
С уважением,
Михаил Каганский

Tigrik

Цитата: mikekaganski от 31 января 2020, 17:34
Цитата: Tigrik от 31 января 2020, 16:59Столкнулся с тем, что необходима Java
Если Вы не пишете в Java, то Java не нужна для макросов. Если у Вас показываются сообщения о необходимости Java, значит либо у Вас старая версия ЛО, либо надо писать багрепорт (я эти баги про ненужные запросы явы сам правлю).
У меня стоит версия LibreOffice Версия: 6.3.4.2 (x64); Win7. Сегодня с торрента скачал версию 6.4.0.3+Help Pack, но ещё не успел поставить.
Я не совсем разбираюсь в то, что нужно для макросов, но, при работе с макросами, несколько раз было сообщение, что нужно что от Java (jre). Скачал-поставил Java - в "Расширенные возможности" появилась jre 1.8.0_241 и сообщения перестали появляться.

mikekaganski

Цитата: Tigrik от 31 января 2020, 19:01Сегодня с торрента скачал версию 6.4.0.3+Help Pack

С официального торрента, надеюсь? Или теперь ЛО приходится на рутрекерах искать? ;)
С уважением,
Михаил Каганский

kompilainenn

Цитата: mikekaganski от 31 января 2020, 17:34я эти баги про ненужные запросы явы сам правлю
ТАК ЧТО Ж ТЫ МОЛЧАЛ?!
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

rami

Цитата: mikekaganski от 31 января 2020, 17:34Если у Вас показываются сообщения о необходимости Java, значит либо у Вас старая версия ЛО, либо надо писать багрепорт (я эти баги про ненужные запросы явы сам правлю).
Поставил LibreOffice 6.4.0.3, на отсутствие Java жалуется только если в "Параметрах" стоит галка "Использовать виртуальную машину Java", если снята, молчит.

Tigrik

Цитата: mikekaganski от 31 января 2020, 19:05
Цитата: Tigrik от 31 января 2020, 19:01Сегодня с торрента скачал версию 6.4.0.3+Help Pack

С официального торрента, надеюсь? Или теперь ЛО приходится на рутрекерах искать? ;)
Не знаю, можно ли здесь ссылки на сторонние сайты - "torrent-soft.net/?newsid=17586".

kompilainenn

Цитата: Tigrik от 31 января 2020, 20:32Не знаю, можно ли здесь ссылки на сторонние сайты - "torrent-soft.net/?newsid=17586".
Всегда скачивайте ЛЮБОЙ софт, в том числе и LibreOffice с ОФИЦИАЛЬНЫХ сайтов ИХ РАЗРАБОТЧИКОВ.
Совет дня! Снесите то, что вы скачали, почистите все хвосты от возможной бяки, скачайте инсталлер с сайта libreoffice.org/download и установите заново
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

Tigrik

Цитата: kompilainenn от 31 января 2020, 22:22
Цитата: Tigrik от 31 января 2020, 20:32Не знаю, можно ли здесь ссылки на сторонние сайты - "torrent-soft.net/?newsid=17586".
Всегда скачивайте ЛЮБОЙ софт, в том числе и LibreOffice с ОФИЦИАЛЬНЫХ сайтов ИХ РАЗРАБОТЧИКОВ.
Совет дня! Снесите то, что вы скачали, почистите все хвосты от возможной бяки, скачайте инсталлер с сайта libreoffice.org/download и установите заново
ЛО 6.4 (скаченная с торрента) я ещё не ставил, а текущая версия с Оф.сайта ЛО.
Даже, сейчас, проверка обновлений из самой программы ЛО не показала, что есть новая версия.
Хотел воспользоваться встроенным хелпом в программе, но она сказала, что справка не установлена, беглые поиски справки ЛО не дали результата, пришлось скачать новую версию ЛО+справка (не оправдания ради, а справедливости только!).

Возможно, это немного вышло за рамки темы, но что бы не открывать новую тему, спрошу здесь. Если уже была такая тема, то буду рад ссылке.
Я уже скачал ЛО 6.4 с оф.сайта и установил, но справки там также нет (хотя, вроде бы, нажал на кнопку, где указано, что будут встроенная справка).
Как я понимаю, https://ru.libreoffice.org/download, тоже оф.сайт ЛО - с него скачал нужную справку, поставил, но программа продолжает ругаться: "Встроенная справка LibreOffice для текущего языка интерфейса (Русский) не установлена на этом компьютере".
Может быть, как-то специально нужно прицеплять эту справку к программе?

economist

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

Tigrik

Цитата: economist от  1 февраля 2020, 22:28
ru-раздел https://ru.libreoffice.org/download/portable/ содержит ссылки на версии 5-летней давности.

Качайте с https://www.libreoffice.org/download/download/
Текущая программа ЛО 6.4.0 и была взята с этого сайта (https://www.libreoffice.org/download/download/).
Но дополнительно скачал и файл-установщик встроенной справки (LibreOffice_6.4.0_Win_x86_helppack_ru.msi) с сайта:
https://ru.libreoffice.org/download



Принудительно удалял файлы справки (с помощью самого установщика справки) и заново поставил в папку с текущей ЛО.



Все равно, при запросе справки - сообщение, что она не установлена.



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