Можно ли узнать, в каком офисном пакете открыта таблица и запустить соответствующий макрос?

Суть такова: есть некая таблица, которая может быть открыта на рабочем ноутбуке в Excel, а на личном - в LibreOffice Calc. На определённом этапе развития таблицы возникла необходимость автоматического подсчёта количества ячеек, залитых цветом. В Excel на VBA была написана соответствующая функция и всё считается, но в LibreOffice эта функция, естественно, не работает.
Мне необходимо написать такую же функцию на LibreOffice BASIC (с этим я справлюсь, думаю). Но как на этапе открытия файла узнать, в каком именно пакете открывается эта таблица, и в зависимости от этого запустить соответствующий вариант функции?
  • Вопрос задан
  • 116 просмотров
Пригласить эксперта
Ответы на вопрос 2
If Application.Name = "Microsoft Excel" then

else

end if

Думаю, как-то так
Ответ написан
honor8
@honor8
Принципы быстродействия VBA в описании
Функция только усложняет решение задачи.
Фильтр по цвету (в Excel), количество записей будет указано в строке состояния.

UPD1: Попробуйте для Libre Office указать следующие настройки модуля:
Option VBASupport 1
Option Compatible

UPD2: https://help.libreoffice.org/latest/ru/text/shared...

UPD3: Объектная модель другая. https://github.com/fahri314/macro-converter Объекты нужно выносить в отдельные переменные. В одном документе для двух приложений работать не будет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 03:52
1000 руб./за проект
19 апр. 2024, в 03:01
1000 руб./за проект
18 апр. 2024, в 21:56
2000 руб./за проект