The Platform service provides a collection of properties about the current execution environment and context, such as:
All properties of the Platform service are read-only.
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.
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 | 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. |
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)
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.