Hilfe für LibreOffice 24.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. | 
| UserData | Ja | Dictionary | Gibt eine Instanz Dictionary zurück, die Schlüssel-Wert-Paare in Bezug auf den Dialog Extras – Optionen… – Benutzerdaten enthält. | 
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)