Здравствуйте, на работе пользовались макросом в Excel, се...

Автор ForumOOo (бот), 15 февраля 2022, 21:23

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

ForumOOo (бот)

Компонент: Basic
Версия продукта: 3.x
Сборка:
ОС: виндовс 7

Здравствуйте, на работе пользовались макросом в Excel, сейчас руководство всех переводит на OpenOffice и LibreOffice, а макрос из Excel в них не работает, помогите пожалуйста довести до ума вложенный файл,
что бы в OpenOffice работал.

Тестовый файл: http://forumooo.ru/attachments/upload/uchet_temperaturi13.ods (19.31 КБ)

--
Подпись: Иван
Эл. почта: fedorov.wan@yandex.ru

kompilainenn

Цитата: ForumOOo (бот) от 15 февраля 2022, 21:23сейчас руководство всех переводит на OpenOffice и LibreOffice
Передайте руководству, чтобы выбрало что-то одно
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

Иван2020

Организация большая, отдел программистов раньше вместе с майкрософтом ставил OpenOffice а сейчас на новых компах ставят LibreOffice. Главное чтоб макрос на LibreOffice работал.

eeigor

Ubuntu 18.04 LTS • LibreOffice 7.5.1.2 Community

Иван2020

там такой написан
Private Sub print_temperatura()
    Dim cell As Range
    Application.ScreenUpdating = False
    Sheets("Температура").Select
    For Each cell In ActiveSheet.Range("A4:A22")
        If cell.Value = False Then cell.EntireRow.Hidden = True
    Next

    Sheets("Температура").Select
    Application.Dialogs(xlDialogPrint).show

    Rows.Hidden = False
   
    Sheets("Список КБПК-1").Select
   
    Application.ScreenUpdating = True
End Sub

economist

Такие простые макросы могут заработать в OpenOffice|LibreOffice, если поставить первой строкой Модуля (Alt+F11) вот такие строки:


Option VBASupport 1
Option Compatible

' тут ниже идут ваши макросы


Конкретно этот макрос вызывает окно диалога печати, оно скорее всего не сработает, но можно записать макрорекордером его вызов по нажатию Ctrl+P. Чтобы стала доступна запись макросов - включите Alt+F12 - Расширенные - Включить Эксп. возможности. И добавить его вместо строки Application.Dialogs(xlDialogPrint).show

Макросы в OpenOffice|LibreOffice - это новый уровень развития специалиста, прекрасная гимнастика для ума, и она стоит каждой потраченной минуты и недели на их изучение.  
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

Sirius34

Если не изменяет память, то Application.ScreenUpdating в LO не работает.
Ошибки не будет, но и эффекта тоже.

mikekaganski

Цитата: economist от 16 февраля 2022, 08:03

Option VBASupport 1
Option Compatible


Option VBASupport 1 уже включает в себя Option Compatible, поэтому применение обеих не требуется, и нужно что-то одно (в зависимости от задачи). Применение обеих - признак непонимания работы этих параметров.
С уважением,
Михаил Каганский

Иван2020

Спасибо за помощь, возьмусь за изучение написания макросов.
Обложился учебниками, ушел в запой.