LibreOffice 25.2 Help
The Platform service provides a collection of properties about the current execution environment and context, such as:
The hardware platform (architecture, CPU count, machine type, etc)
Operating system information (OS type, release, version, etc)
The LibreOffice version
The current user name
All properties of the Platform service are read-only.
Before using the Platform service the ScriptForge library needs to be loaded or imported:
The examples below in Basic and Python instantiate the Platform service and access the Architecture property.
      GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
      Dim platform As Variant
      platform = CreateScriptService("Platform")
      MsgBox platform.Architecture
    
      from scriptforge import CreateScriptService
      svc = CreateScriptService("Platform")
      bas = CreateScriptService("Basic")
      bas.MsgBox(svc.Architecture)
    | ئاتى | Readonly | تىپى | چۈشەندۈرۈلۈشى | 
|---|---|---|---|
| Architecture | ھەئە | String | The hardware bit architecture. Example: '32bit' or '64bit' | 
| ComputerName | ھەئە | String | The computer's network name. | 
| CPUCount | ھەئە | Integer | The number of central processing units. | 
| CurrentUser | ھەئە | String | The name of the currently logged user. | 
| Extensions | ھەئە | String array | Returns a zero-based array of strings containing the internal IDs of all installed extensions. | 
| FilterNames | ھەئە | String array | Returns a zero-based unsorted array of strings containing the available document import and export filter names. | 
| Fonts | ھەئە | String array | Returns a zero-based array of strings containing the names of all available fonts. | 
| FormatLocale | ھەئە | String | Returns the locale used for numbers and dates as a string in the format "la-CO" (language-COUNTRY). | 
| Locale | ھەئە | String | Returns the locale of the operating system as a string in the format "la-CO" (language-COUNTRY). This is equivalent to the SystemLocale property. | 
| Machine | ھەئە | String | The machine type. Examples are: 'i386' or 'x86_64'. | 
| OfficeLocale | ھەئە | String | Returns the locale of the user interface as a string in the format "la-CO" (language-COUNTRY). | 
| OfficeVersion | ھەئە | String | The actual LibreOffice version expressed as Example: 'LibreOffice 7.4.1.2 (The Document Foundation, Debian and Ubuntu)' | 
| OSName | ھەئە | String | The operating system type. Example: 'Darwin, Linux' or 'Windows'. | 
| OSPlatform | ھەئە | String | A single string identifying the underlying platform with as much useful and human-readable information as possible. Example: 'Linux-5.8.0-44-generic-x86_64-with-glibc2.32' | 
| OSRelease | ھەئە | String | The operating system's release. Example: '5.8.0-44-generic' | 
| OSVersion | ھەئە | String | The operating system's build or version. Example: '#50-Ubuntu SMP Tue Feb 9 06:29:41 UTC 2021' | 
| Printers | ھەئە | String | The list of available printers as a zero-based array. The default printer is put in the first position of the list (index = 0). | 
| Processor | ھەئە | String | The real processor name. Example: 'amdk6'. This property may return the same value as the Machine property. | 
| PythonVersion | ھەئە | String | Returns the version of the Python interpreter being used as a string in the format "Python major.minor.patchlevel" (ex: "Python 3.9.7"). | 
| SystemLocale | ھەئە | String | Returns the locale of the operating system as a string in the format "la-CO" (language-COUNTRY). This is equivalent to the Locale property. | 
| UserData | ھەئە | Dictionary | Returns a Dictionary instance containing key-value pairs in relation with Tools - Options - User Data dialog. | 
The following examples in Basic and Python illustrate how to use the Fonts property to write the names of all available fonts to the current Calc sheet starting at cell "A1":
    Dim oDoc as Object
    Dim allFonts as Object
    Dim svcPlatform as Object
    Set oDoc = CreateScriptService("Calc")
    Set svcPlatform = CreateScriptService("Platform")
    allFonts = svcPlatform.Fonts
    oDoc.setArray("~.A1", allFonts)
  The example below demonstrates how to create a Calc table with all the values stored in the UserData property, which is a Dictionary service instance:
    Dim svcPlatform as Object, oUserData as Object, oDoc as Object
    Dim arrUserData As Object, currCell As String
    Set svcPlatform = CreateScriptService("Platform")
    oUserData = svcPlatform.UserData
    arrUserData = oUserData.ConvertToArray()
    Set oDoc = CreateScriptService("Calc", ThisComponent)
    oDoc.SetArray("~.A1", Array(Array("Key", "Value")))
    oDoc.SetArray("~.A2", arrUserData)
  The examples above can be written in Python as follows:
    from scriptforge import CreateScriptService
    bas = CreateScriptService("Basic")
    doc = CreateScriptService("Calc", bas.ThisComponent)
    svc_platform = CreateScriptService("Platform")
    all_fonts = svc_platform.Fonts
    doc.setArray("~.A1", all_fonts)
  
    from scriptforge import CreateScriptService
    bas = CreateScriptService("Basic")
    doc = CreateScriptService("Calc", bas.ThisComponent)
    svc_platform = CreateScriptService("Platform")
    user_data = svc_platform.UserData
    arr_user_data = [[key, user_data[key]] for key in user_data]
    doc.SetArray("~.A1", (("Key", "Value"),))
    doc.SetArray("~.A2", arr_user_data)