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

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

18 Август 2019, 20:37 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Вы можете задать вопрос по LibreOffice или Apache OpenOffice  без регистрации, используя форму
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: [РЕШЕНО]Узнать версию офиса  (Прочитано 989 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Bigor
Опытный пользователь
***
Offline Offline

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


« Стартовое сообщение: 3 Апрель 2019, 17:34 »

Добрый день.

Можно ли макросом вывести наименование/версию используемого офиса.

Т.е. например запускаю макрос из под LibreOffice, он мне и выводит LibreOffice  6.1.5.
Запускаю в OpenOffice  - видим OpenOffice 4.0.1
« Последнее редактирование: 4 Апрель 2019, 09:25 от Bigor » Записан
Yakov
Администратор
**
Offline Offline

Сообщений: 2 423


WWW
« Ответ #1: 3 Апрель 2019, 17:48 »

В Calc есть функция
Цитата:
=INFO("release") или =ИНФОРМ("release")
Но выводит кодовый номер сборки, что-то вида 413m1(Build:9783) или c838ef25c16710f8838b1faec480ebba495259d0

« Последнее редактирование: 3 Апрель 2019, 17:51 от Yakov » Записан

Bigor
Опытный пользователь
***
Offline Offline

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


« Ответ #2: 3 Апрель 2019, 17:55 »

а как в этом c838ef25c16710f8838b1faec480ebba495259d0 разобраться что libre, что open?
Записан
mikekaganski
Мастер
*****
Offline Offline

Пол: Мужской
Расположение: Хабаровск -> Москва
Сообщений: 1 452


« Ответ #3: 3 Апрель 2019, 18:29 »

https://forum.openoffice.org/en/forum/viewtopic.php?f=20&t=66567

Код:
Function getOName() As String
  getOName = getOOoSetupValue("/org.openoffice.Setup/Product","ooName")
end Function
Function getOVer() As String
  getOVer = getOOoSetupValue("/org.openoffice.Setup/Product","ooSetupVersion")
end Function
Function getOOoSetupValue(sNodePath$,sProperty$)
Dim oNode
   oNode = getOOoSetupNode(sNodePath)
   getOOoSetupValue = oNode.getbyname(sProperty)
End Function
Function getOOoSetupNode(sNodePath$)
Dim aConfigProvider, oNode, args(0) As new com.sun.star.beans.PropertyValue
   aConfigProvider = createUnoService("com.sun.star.configuration.ConfigurationProvider")
   args(0).Name = "nodepath"
   args(0).Value = sNodePath
   getOOoSetupNode = aConfigProvider.createInstanceWithArguments("com.sun.star.configuration.ConfigurationAccess", args())
End Function
« Последнее редактирование: 3 Апрель 2019, 18:32 от mikekaganski » Записан

С уважением,
Михаил Каганский
mikekaganski
Мастер
*****
Offline Offline

Пол: Мужской
Расположение: Хабаровск -> Москва
Сообщений: 1 452


« Ответ #4: 3 Апрель 2019, 19:54 »

Кстати, эта функция есть штатно - функция GetProductname в модуле Misc.
Записан

С уважением,
Михаил Каганский
Bigor
Опытный пользователь
***
Offline Offline

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


« Ответ #5: 4 Апрель 2019, 09:18 »


Да, это оно. Спасибо.

функция GetProductname в модуле Misc.

а это вообще красота Улыбка
Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

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