Vendors Name via UNO API / Basic Macros

Niklas Johansson sleeping.pillow at gmail.com
Fri Nov 15 08:18:46 PST 2013


Just to point you to some other options. The basic library Tools that 
comes with LibreOffice contains a few interesting macros related to 
this. You need to load the library first then you can use GetProductName.

     BasicLibraries.LoadLibrary("Tools")
     msgbox GetProductName

If you need more detailed information you can look in the registry 
(xcu-files) using the helper-function GetRegistryKeyContent.
     BasicLibraries.LoadLibrary("Tools")
     oKey = GetRegistryKeyContent("/org.openoffice.Setup/Product")
     msgbox oKey.ooName
     msgbox oKey.ooSetupVersionAboutBox

The GetRegistryKeyContent basically does what Milkos did for you. Use 
xray to inspect oKey for more possibilities.
These functions is available in AOO as well.

Regards,
Niklas Johansson

Thomas Krumbein skrev 2013-11-15 15:49:
> Hi Miklos,
>
> yes, thanks, that might be a practible way at this time.
>
> Nevertheless - it is not a solution for the future.
>
> I guess, there should be an implementation of the original product name,
> version-number (major and minor) and actuall product name.
>
> This should be easy accessible even for unexpierienced macro developers.
>
> I will do a feature request or this :)
>
>
> best regards
> Thomas
>
>
>
> Am 15.11.2013 14:11, schrieb Miklos Vajna:
>> Hi,
>>
>> On Fri, Nov 15, 2013 at 01:43:38PM +0100, Thomas Krumbein <thomas.krumbein at documentfoundation.org> wrote:
>>> Thanks for this - I know the xcu files. But this is not an easy access
>>> for (Basic-) macros. The way to do is: Search for this file, parse this
>>> file and extract the vendor name... for basic marcos a very long way.
>> Why not use the css::configuration::ConfigurationProvider API instead?
>>
>> I mean something like:
>>
>>> oProvider = createUnoService("com.sun.star.configuration.ConfigurationProvider")
>>> Dim aParams(0) As new com.sun.star.beans.PropertyValue
>>> aParams(0).Name = "nodepath"
>>> aParams(0).Value = "/org.openoffice.Setup/Product"
>>> oSettings = oProvider.createInstanceWithArguments("com.sun.star.configuration.ConfigurationAccess", aParams)
>>> xray oSettings.getByName("ooName")
>> HTH,
>>
>> Miklos
>



More information about the LibreOffice mailing list