Text Documents (Writer)
HTML Documents (Writer Web)
Spreadsheets (Calc)
Presentations (Impress)
Drawings (Draw)
Database Functionality (Base)
Formulae (Math)
Charts and Diagrams
Macros and Scripting
Office Installation
Common Help Topics
OneOffice Logo

ScriptForge.Platform service

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 Office version
  • The current user name

All properties of the Platform service are read-only.

Service invocation

Before using the Platform service the ScriptForge library needs to be loaded or imported:

• Basic macros require to load ScriptForge library using the following statement:

GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• Python scripts require an import from scriptforge module:

from scriptforge import CreateScriptService

The examples below in Basic and Python instantiate the Platform service and access the Architecture property.

In Basic

      GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
      Dim platform As Variant
      platform = CreateScriptService("Platform")
      MsgBox platform.Architecture
    
In Python

      from scriptforge import CreateScriptService
      svc = CreateScriptService("Platform")
      bas = CreateScriptService("Basic")
      bas.MsgBox(svc.Architecture)
    

Properties

Name Readonly Type Description
Architecture Yes String The hardware bit architecture. Example: '32bit' or '64bit'
ComputerName Yes String The computer's network name.
CPUCount Yes Integer The number of central processing units.
CurrentUser Yes String The name of the currently logged user.
Extensions Yes String array Returns a zero-based array of strings containing the internal IDs of all installed extensions.
FilterNames Yes String array Returns a zero-based unsorted array of strings containing the available document import and export filter names.
Fonts Yes String array Returns a zero-based array of strings containing the names of all available fonts.
FormatLocale Yes String Returns the locale used for numbers and dates as a string in the format "la-CO" (language-COUNTRY).
Locale Yes 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 Yes String The machine type. Examples are: 'i386' or 'x86-64'.
OfficeLocale Yes String Returns the locale of the user interface as a string in the format "la-CO" (language-COUNTRY).
OfficeVersion Yes String The actual Office version expressed as' Office w.x.y.z (The Document Foundation)'. Example: 'Office 7.4.1.2 (The Document Foundation, Debian and Ubuntu)'
OSName Yes String The operating system type. Example: 'Darwin, Linux' or 'Windows'.
OSPlatform Yes 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 Yes String The operating system's release. Example: '5.8.0-44-generic'
OSVersion Yes String The operating system's build or version. Example: '#50-Ubuntu SMP Tue Feb 9 06:29:41 UTC 2021'
Printers Yes Stringarray 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 Yes String The real processor name. Example: 'amdk6'. This property may return the same value as the Machine property.
PythonVersion Yes 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 Yes 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.

Example:

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":

In Basic

      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)
    
In Python

      from scriptforge import CreateScriptService
      svc-platform = CreateScriptService("Platform")
      doc = CreateScriptService("Calc")
      all-fonts = svc-platform.Fonts
      doc.setArray("~.A1", all-fonts)
    

All ScriptForge Basic routines or identifiers that are prefixed with an underscore character "-" are reserved for internal use. They are not meant be used in Basic macros or Python scripts.