[РЕШЕНО]Узнать версию офиса

Автор bigor, 3 апреля 2019, 17:34

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

bigor

Добрый день.

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

Т.е. например запускаю макрос из под LibreOffice, он мне и выводит LibreOffice  6.1.5.
Запускаю в OpenOffice  - видим OpenOffice 4.0.1
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

Yakov

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


bigor

а как в этом c838ef25c16710f8838b1faec480ebba495259d0 разобраться что libre, что open?
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

mikekaganski

#3
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
С уважением,
Михаил Каганский

mikekaganski

Кстати, эта функция есть штатно - функция GetProductname в модуле Misc.
С уважением,
Михаил Каганский

bigor

Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут