Dienst ScriptForge.Basic

Der Dienst ScriptForge.Basic schlägt eine Sammlung von LibreOffice Basic-Methoden vor, die in einem Python-Kontext ausgeführt werden können. Die Methoden des Dienstes Basic reproduzieren die genaue Syntax und das Verhalten der integrierten Basic-Funktionen.

Typisches Beispiel:


   bas.MsgBox('Diesen Text in einem Meldungsfeld aus einem Python-Skript anzeigen')
  
Warnsymbol

ScriptForge. Der Dienst Basic ist auf Python-Skripte beschränkt.


Dienstaufruf

Notizsymbol

Bevor Sie den Dienst Basic verwenden, importieren Sie die Methode CreateScriptService() aus dem Modul scriptforge:



    from scriptforge import CreateScriptService
    bas = CreateScriptService("Basic")
  

Eigenschaften

Name

Schreibgeschützt

Typ

Beschreibung

MB_OK, MB_OKCANCEL, MB_RETRYCANCEL, MB_YESNO, MB_YESNOCANCEL

Ja

Integer

Werte: 0, 1, 5, 4, 3

MB_ICONEXCLAMATION, MB_ICONINFORMATION, MB_ICONQUESTION, MB_ICONSTOP

Ja

Integer

Werte: 48, 64, 32, 16

MB_ABORTRETRYIGNORE, MB_DEFBUTTON1, MB_DEFBUTTON2, MB_DEFBUTTON3

Ja

Integer

Werte: 2, 128, 256, 512

IDABORT, IDCANCEL, IDIGNORE, IDNO, IDOK, IDRETRY, IDYES

Ja

Integer

Werte: 3, 2, 5, 7, 1, 4, 6
Konstanten, welche die ausgewählte Schaltfläche MsgBox anzeigt.

StarDesktop

Ja

UNO
Objekt

Gibt das Objekt StarDesktop zurück, das die LibreOffice-Anwendung darstellt.

ThisComponent

Ja

UNO
Objekt

Wenn die aktuelle Komponente auf ein LibreOffice-Dokument verweist, gibt diese Methode das UNO-Objekt zurück, welches das Dokument darstellt. Diese Eigenschaft gibt None zurück, wenn die aktuelle Komponente keinem Dokument entspricht.

ThisDatabaseDocument

Ja

UNO
Objekt

Wenn das Skript von einem Base-Dokument oder einer seiner Unterkomponenten ausgeführt wird, gibt diese Methode die Hauptkomponente der Base-Instanz zurück. Andernfalls gibt diese Eigenschaft None zurück.


Liste der Methoden im Dienst Basic

CDate
CDateFromUnoDateTime
CDateToUnoDateTime
ConvertFromUrl (*)
ConvertToUrl (*)
CreateUnoService
CreateUnoStruct (*)
DateAdd

DateDiff
DatePart
DateValue
Format
GetDefaultContext
GetGuiType (*)
GetPathSeparator (*)
GetSystemTicks

GlobalScope.BasicLibraries
GlobalScope.DialogLibraries
InputBox (*)
MsgBox (*)
Now
RGB
Wait
Xray


Notizsymbol

Für mit (*) gekennzeichnete Methoden gibt es Python-Alternativen.


CDate

Konvertiert einen numerischen Ausdruck oder eine Zeichenfolge in ein natives Python-Objekt datetime.datetime.

Notizsymbol

Diese Methode stellt Python-Skripten die integrierte Basic-Funktion CDate zur Verfügung.


Syntax:

svc.CDate(expression: any): obj

Parameter:

expression: ein numerischer Ausdruck oder eine Zeichenfolge, die ein Datum darstellt.

Wenn Sie einen Zeichenfolgenausdruck konvertieren, müssen Datum und Uhrzeit entweder in einem der für Ihre Gebietsschemaeinstellung definierten Datumsakzeptanzmuster eingegeben werden (wählen Sie – Sprachen und Gebietsschemata – Allgemein) oder im ISO-Datumsformat (derzeit wird nur das ISO-Format mit Bindestrichen, beispielsweise „2012-12-31“ akzeptiert). In numerischen Ausdrücken stellen Werte links von der Dezimalstelle das Datum dar, beginnend mit dem 31. Dezember 1899. Werte rechts von der Dezimalstelle stellen die Uhrzeit dar.

Beispiel:


    d = bas.CDate(1000.25)
    bas.MsgBox(str(d)) # 1902-09-26 06:00:00
    bas.MsgBox(d.year) # 1902
  

CDateFromUnoDateTime

Konvertiert ein(e) Datum/Uhrzeit in UNO-Darstellung in ein natives Python-Objekt datetime.datetime.

Syntax:

svc.CDateFromUnoDateTime(unodate: uno): obj

Parameter:

unodate: Datum/Zeit eines UNO-Objekts eines der folgenden Typen: com.sun.star.util.DateTime, com.sun.star.util.Date oder com.sun.star.util.Time

Beispiel:

Das folgende Beispiel erstellt ein Objekt com.sun.star.util.DateTime und konvertiert es in ein Python-Objekt datetime.datetime.


    uno_date = bas.CreateUnoStruct('com.sun.star.util.DateTime')
    uno_date.Year = 1983
    uno_date.Month = 2
    uno_date.Day = 23
    new_date = bas.CDateFromUnoDateTime(uno_date)
    bas.MsgBox(str(new_date)) # 1983-02-23 00:00:00
  

CDateToUnoDateTime

Konvertiert eine Datumsdarstellung in ein Objekt com.sun.star.util.DateTime.

Syntax:

svc.CDateToUnoDateTime(date: obj): uno

Parameter:

date: Datums/Zeit eines Pythonobjekts eines der folgenden Typen: datetime.datetime, datetime.date, datetime.time , float (time.time) oder time.struct_time.