Hilfe für LibreOffice 25.8
Der Dienst Platform stellt eine Sammlung von Eigenschaften über die aktuelle Ausführungsumgebung und den aktuellen Kontext bereit, beispielsweise:
Die Hardwareplattform (Architektur, CPU-Anzahl, Maschinentyp, …)
Informationen zum Betriebssystem (BS-Typ, Release, Version, …)
Die LibreOffice-Version
Den aktuellen Benutzernamen
Alle Eigenschaften des Dienstes Platform sind schreibgeschützt.
Vor der Verwendung des Dienstes Platform muss die Bibliothek ScriptForge geladen oder importiert werden:
Die folgenden Beispiele in Basic und Python instanziieren den Dienst Platform und greifen auf die Eigenschaft Architecture zu.
      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)
    | Name | Schreibgeschützt | Typ | Beschreibung | 
|---|---|---|---|
| Architecture | Ja | String | Die Hardware-Bit-Architektur. Beispiel: '32bit' oder '64bit' | 
| ComputerName | Ja | String | Der Netzwerkname des Computers. | 
| CPUCount | Ja | Integer | Die Anzahl der CPUs. | 
| CurrentUser | Ja | String | Der Name des aktuell angemeldeten Benutzers. | 
| Extensions | Ja | Zeichenfolgenmatrix | Gibt eine nullbasierte Zeichenfolgenmatrix zurück, welche die internen IDs aller installierten Erweiterungen enthält. | 
| FilterNames | Ja | Zeichenfolgenmatrix | Gibt eine nullbasierte, unsortierte Zeichenfolgenmatrix zurück, welche die verfügbaren Import- und Exportfilternamen für Dokumente enthält. | 
| Fonts | Ja | Zeichenfolgenmatrix | Gibt eine nullbasierte Matrix mit Zeichenfolgen zurück, welche die Namen aller verfügbaren Schriftarten enthält. | 
| FormatLocale | Ja | String | Gibt das für Zahlen und Daten verwendete Gebietsschema als Zeichenfolge im Format "la-CO" (Sprache-LAND) zurück. | 
| Locale | Ja | String | Gibt das Gebietsschema des Betriebssystems als Zeichenfolge im Format "la-CO" (Sprache-LAND) zurück. Dies entspricht der Eigenschaft SystemLocale. | 
| Machine | Ja | String | Der Maschinentyp. Beispielsweise: 'i386' oder 'x86_64'. | 
| OfficeLocale | Ja | String | Gibt das Gebietsschema der Benutzeroberfläche als Zeichenfolge im Format "la-CO" (Sprache-LAND) zurück. | 
| OfficeVersion | Ja | String | Die tatsächliche LibreOffice-Version, ausgedrückt als Beispiel: 'LibreOffice 7.4.1.2 (The Document Foundation, Debian and Ubuntu)' | 
| OSName | Ja | String | Der Betriebssystemtyp. Beispielsweise: 'Darwin, Linux' oder 'Windows'. | 
| OSPlatform | Ja | String | Eine einzelne Zeichenfolge, welche die zugrunde liegende Plattform mit so vielen nützlichen und für Menschen lesbaren Informationen wie möglich identifiziert. Beispielsweise: 'Linux-5.8.0-44-generic-x86_64-with-glibc2.32' | 
| OSRelease | Ja | String | Die BS-Version. Beispielsweise: '5.8.0-44-generic' | 
| OSVersion | Ja | String | Der Build oder die Version des Betriebssystems. Beispeilsweise: '#50-Ubuntu SMP Tue Feb 9 06:29:41 UTC 2021' | 
| Printers | Ja | String | Die Liste der verfügbaren Drucker als nullbasierte Matrix. Der Standarddrucker wird an die erste Position der Liste gesetzt (Index = 0). | 
| Processor | Ja | String | Der echte Prozessorname. Beispielsweise: 'amdk6'. Diese Eigenschaft kann denselben Wert wie die Eigenschaft Machine zurückgeben. | 
| PythonVersion | Ja | String | Gibt die Version des verwendeten Python-Interpreters als Zeichenfolge im Format „Python major.minor.patchlevel“ zurück (beispielsweise „Python 3.9.7“). | 
| SystemLocale | Ja | String | Gibt das Gebietsschema des Betriebssystems als Zeichenfolge im Format "la-CO" (Sprache-LAND) zurück. Dies entspricht der Eigenschaft Locale. | 
| UntitledPrefix | Ja | String | Gibt das Präfix zurück, das zum Benennen neuer Dokumente verwendet wird (auf Englisch „Untitled“). | 
| UserData | Ja | Dictionary | Gibt eine Instanz ScriptForge.Dictionary zurück, die Schlüssel-Wert-Paare in Bezug auf den Dialog Extras – Optionen… – Benutzerdaten enthält. | 
Eine umfassende Identifizierung des Betriebssystemnamens ist über die Berechnungsformel INFO("system") verfügbar.
Die folgenden Beispiele in Basic und Python veranschaulichen, wie die Eigenschaft Fonts verwendet wird, um die Namen aller verfügbaren Schriftarten in die aktuelle Calc-Tabelle zu schreiben, beginnend bei Zelle "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)
  Das folgende Beispiel zeigt, wie eine Calc-Tabelle mit allen Werten erstellt wird, die in der Eigenschaft UserData gespeichert sind, bei der es sich um eine Dienstinstanz von Dictionary handelt:
    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)
  Die obigen Beispiele können in Python wie folgt geschrieben werden:
    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)