Ajuda do LibreOffice 25.2
O serviço Platform fornece um conjunto de propriedades sobre o ambiente de execução atual e seu contexto, incluindo:
A plataforma de hardware (arquitetura, contagem de núcleos do CPU, tipo de máquina, etc)
Informações sobre o sistema operacional (Tipo do sistema, lançamento, versão, etc)
A versão do LibreOffice
Nome de usuário atual
Todas as propriedades do serviço Platform são somente leitura.
Antes de usar o serviço Platform a biblioteca ScriptForge precisa ser carregada ou importada:
Os exemplos abaixo em Basic e Python criam uma instância do serviço Platform e acessam a propriedade Architecture.
      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)
    | Nome | Somente leitura | Tipo | Descrição | 
|---|---|---|---|
| Architecture | Sim | String | A arquitetura do hardware. Exemplo: '32bit' ou '64bit' | 
| ComputerName | Sim | String | Nome de rede do computador | 
| CPUCount | Sim | Integer | Número de unidades centrais de processamento. | 
| CurrentUser | Sim | String | Nome do usuário atualmente logado. | 
| Extensions | Sim | Array de Strings | Retorna um Array de Strings contendo as IDs internas de todas as extensões instaladas. | 
| FilterNames | Sim | Array de Strings | Retorna um Array de Strings não ordenado e indexado a partir de zero contendo os nomes dos filtros de importação e exportação de documentos disponíveis. | 
| Fonts | Sim | Array de Strings | Retorna um array indexado a partir de zero contendo os nomes de todas as fontes disponíveis. | 
| FormatLocale | Sim | String | Retorna a localidade usada para números e datas como uma string no formato "la-CO" (idioma-PAÍS). | 
| Locale | Sim | String | Retorna a localidade do sistema operacional como uma string no formato "la-CO" (idioma-PAÍS). É equivalente à propriedade SystemLocale. | 
| Machine | Sim | String | Tipo da máquina. Exemplos: 'i386' ou 'x86_64'. | 
| OfficeLocale | Sim | String | Retorna a localidade da interface de usuário como uma string no formato "la-CO" (idioma-PAÍS). | 
| OfficeVersion | Sim | String | Versão atual do LibreOffice expressa no formado  Exemplo: 'LibreOffice 7.4.1.2 (The Document Foundation, Debian and Ubuntu)' | 
| OSName | Sim | String | Tipo do sistema operacional. Exemplo: 'Darwin, Linux' ou 'Windows'. | 
| OSPlatform | Sim | String | String única e legível por humanos identificando a plataforma com a maior quantidade possível de informações. Exemplo: 'Linux-5.8.0-44-generic-x86_64-with-glibc2.32' | 
| OSRelease | Sim | String | Versão do sistema operacional. Exemplo: '5.8.0-44-generic' | 
| OSVersion | Sim | String | Compilação ou versão do sistema operacional. Exemplo: '#50-Ubuntu SMP Tue Feb 9 06:29:41 UTC 2021' | 
| Printers | Sim | String | Lista de impressoras disponíveis retornadas em um array indexado a partir de zero. A impressora padrão é colocada na primeira posição da lista (índice = 0) | 
| Processor | Sim | String | Nome real do processador. Exemplo: 'amdk6'. Esta propriedade pode retornar o mesmo valor que a propriedade Machine. | 
| PythonVersion | Sim | String | Retorna a versão do interpretador Python sendo usado como uma string no formato "Python major.minor.patchlevel" (ex: "Python 3.9.7"). | 
| SystemLocale | Sim | String | Retorna a localidade do sistema operacional como uma string no formato "la-CO" (idioma-PAÍS). É equivalente à propriedade Locale. | 
| UserData | Sim | Dictionary | Retorna uma instância Dictionary contendo pares de valores-chaves da caixa de diálogo Ferramentas - Opções - Dados do usuário. | 
Os exemplos a seguir em Basic e em Python ilustram como usar a propriedade Fonts para escrever os nomes de todas as fontes disponíveis no sistema na planilha Calc atual iniciando na célula "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)
  O exemplo abaixo demonstra como criar uma tabela Calc com todos os valores armazenados na propriedade UserData, que é uma instância do serviço Dictionary:
    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)
  Os exemplos acima podem ser escritos em Python da seguinte maneira:
    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)