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')
  
warning

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


Dienstaufruf

note

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

Objekt StarDesktop steht fĂĽr LibreOffice Startcenter.


Liste der Methoden im Dienst Basic

CDate
CDateFromUnoDateTime
CDateToUnoDateTime
ConvertFromUrl
ConvertToUrl
CreateUnoService
DateAdd
DateDiff
DatePart

DateValue
Format
GetDefaultContext
GetGuiType
GetPathSeparator
GetSystemTicks
GlobalScope.BasicLibraries
GlobalScope.DialogLibraries
InputBox

MsgBox
Now
RGB
ThisComponent
ThisDatabaseDocument
Xray




CDate

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

note

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 eine Zeichenfolge konvertieren, müssen Datum und Uhrzeit entweder in einem der für Ihre Gebietsschema-Einstellung definierten Datum-Annahmemuster eingegeben werden (siehe – Spracheinstellungen – Sprachen) oder im ISO-Datumsformat (momentan wird nur das ISO-Format mit Bindestrichen akzeptiert, beispielsweise "2012-12-31"). In numerischen Ausdrücken stehen die Werte links von der Dezimalstelle für das Datum ab dem 31. Dezember 1899. Die Werte rechts von der Dezimalstelle stehen für die Uhrzeit.

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.


    import uno
    uno_date = uno.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.

Beispiel:


    from datetime import datetime
    current_datetime = datetime.now()
    uno_date = bas.CDateToUnoDateTime(current_datetime)
    bas.MsgBox(str(uno_date.Year) + "-" + str(uno_date.Month) + "-" + str(uno_date.Day))
  

ConvertFromUrl

Gibt einen Systempfad-Dateinamen fĂĽr die angegebene URL file: zurĂĽck.

Syntax:

svc.ConvertFromUrl(url: str): str

Parameter:

url: Eine absolute URL file:.

RĂĽckgabewert:

Ein Systempfad-Dateiname.

Beispiel:


    filename = bas.ConvertFromUrl( "file:///C:/Program%20Files%20(x86)/LibreOffice/News.txt")
    bas.MsgBox(filename)
  

ConvertToUrl

Gibt eine URL file: fĂĽr den angegebenen Systempfad zurĂĽck.

Syntax:

svc.ConvertToUrl(systempath: str): str

Parameter:

systempath: Ein Systemdateiname als Zeichenfolge.

RĂĽckgabewert:

Eine URL file: als Zeichenfolge.

Beispiel:


    url = bas.ConvertToUrl( 'C:\Program Files(x86)\LibreOffice\News.txt')
    bas.MsgBox(url)
  

CreateUnoService

Instanziiert einen UNO-Dienst mit dem ProcessServiceManager.

Syntax:

svc.CreateUnoService(servicename: str): uno

Parameter:

servicename: Ein vollständig qualifizierter Servicename wie com.sun.star.ui.dialogs.FilePicker oder com.sun.star.sheet.FunctionAccess.

Beispiel:


    dsk = bas.CreateUnoService('com.sun.star.frame.Desktop')
  

DateAdd

FĂĽgt ein Datum oder Zeitintervall mehrmals zu einem bestimmten Datum/einer bestimmten Uhrzeit hinzu und gibt das resultierende Datum zurĂĽck.

Syntax:

svc.DateAdd(interval: str, number: num, date: datetime): datetime

Parameter:

interval: Eine Zeichenfolge aus der folgenden Tabelle, welcher das Datum oder Zeitintervall angibt.

Intervall (Zeichenfolgenwert)

Erklärung

yyyy

Jahr

q

Quartal

m

Monat

y

Kalendertag

w

Wochentag

ww

Kalenderwoche

d

Tag

h

Stunde

n

Minute

s

Sekunde


number: Ein numerischer Ausdruck, der angibt, wie oft der Wert interval addiert wird, wenn er positiv ist, oder subtrahiert wird, wenn er negativ ist.

date: Ein gegebener Wert datetime.datetime, der Wert interval wird number mal zu diesem Wert datetime.datetime hinzugefĂĽgt.

RĂĽckgabewert:

Ein Wert datetime.datetime.

Beispiel:


    dt = datetime.datetime(2004, 1, 31)
    dt = bas.DateAdd("m", 1, dt)
    print(dt)
  

DateDiff

Gibt die Anzahl der Datums- oder Zeitintervalle zwischen zwei angegebenen Datums-/Zeitwerten zurĂĽck.

Syntax:

svc.DateDiff(interval: str, date1: datetime, date2: datetime, firstdayofweek = 1, firstweekofyear = 1): int

Parameter:

interval: Eine Zeichenfolge, welche das Datumsintervall angibt, wie in der obigen Methode DateAdd beschrieben.

date1, date2: Die beiden zu vergleichenden Werte datetime.datetime.

ErsterTagDerWoche: Ein optionaler Parameter, der den ersten Tag einer Woche angibt.

Werte fĂĽr ErsterTagDerWoche

Erklärung

0

Systemvorgabewert verwenden

1

Sonntag (Vorgabe)

2

Montag

3

Dienstag

4

Mittwoch

5

Donnerstag

6

Freitag

7

Samstag


ErsteWocheDesJahres: Ein optionaler Parameter, der die erste Woche eines Jahres angibt.

Werte fĂĽr ErsteWocheDesJahres

Erklärung

0

Systemvorgabewert verwenden

1

Woche 1 ist die Woche, auf die der 1. Januar fällt. (Vorgabe)

2

Woche 1 ist die erste Woche, die mindestens vier Tage dieses Jahres enthält

3

Woche 1 ist die erste Woche, die ausschließlich Tage dieses Jahres enthält


RĂĽckgabewert:

Eine Zahl.

Beispiel:


    date1 = datetime.datetime(2005,1, 1)
    date2 = datetime.datetime(2005,12,31)
    diffDays = bas.DateDiff('d', date1, date2)
    print(diffDays)
  

DatePart

Die Funktion DatePart gibt einen bestimmten Teil eines Datums zurĂĽck.

Syntax:

svc.DatePart(interval: str, date: datetime, firstdayofweek = 1, firstweekofyear = 1): int

Parameter:

interval: Eine Zeichenfolge, welche das Datumsintervall angibt, wie in der obigen Methode DateAdd beschrieben.

date: Das Datum/die Uhrzeit, ab der das Ergebnis berechnet wird.

firstdayofweek, firstweekofyear: optionale Parameter, die jeweils den Starttag einer Woche und die Startwoche eines Jahres angeben, wie in der obigen Methode DateDiff beschrieben.

RĂĽckgabewert:

Der extrahierte Teil fĂĽr das angegebene Datum/die angegebene Uhrzeit.

Beispiel:


    print(bas.DatePart("ww", datetime.datetime(2005,12,31)
    print(bas.DatePart('q', datetime.datetime(1999,12,30)
  

DateValue

Berechnet einen Datumswert aus einer Datumszeichenfolge.

Syntax:

svc.DateValue(date: str): datetime

Parameter:

date: Eine Zeichenfolge, die das Datum enthält, das in ein Objekt Date konvertiert wird.

note

Die an DateValue übergebene Zeichenfolge muss in einem der Datumsformate ausgedrückt werden, die durch Ihre Gebietsschemaeinstellung definiert sind (siehe – Spracheinstellungen – Sprachen), oder das ISO-Datumsformats „ JJJJ-MM-TT“ (Jahr, Monat und Tag durch Bindestriche getrennt) verwendet werden.


RĂĽckgabewert:

Das berechnete Datum.

Beispiel:


    dt = bas.DateValue("23-02-2011")
    print(dt)
  

Format

Konvertiert eine Zahl in eine Zeichenfolge und formatiert sie dann gemäß dem von Ihnen angegebenen Format.

Syntax:

svc.Format(expression: any, format = ''): str

Parameter:

Ausdruck: Numerischer Ausdruck, den Sie in eine formatierte Zeichenfolge konvertieren möchten.

Format: Zeichenfolge, die den Zahlenformat-Code festlegt. Wenn Format nicht angegeben wird, verhält sich die Funktion Format so wie die LibreOffice Basic Funktion Str().

RĂĽckgabewert:

Text-Zeichenfolge.

Codes formatieren

In der folgenden Liste werden die Codes beschrieben, die Sie zum Formatieren eines numerischen Ausdrucks verwenden können:

0: Wenn Ausdruck eine Ziffer an der Stelle von der 0 im Code fĂĽr Format hat , wird diese Ziffer angezeigt. Ansonsten wird eine Null angezeigt.

Wenn Ausdruck weniger Ziffern als die Anzahl der Nullen im Code für Format hat (auf beiden Seiten des Dezimaltrennzeichens), werden führende oder nachgestellte Nullen angezeigt. Wenn Ausdruck links vom Dezimaltrennzeichen mehr Ziffern als die Anzahl der Nullen im Code für Format hat, werden die zusätzlichen Ziffern ohne Formatierung angezeigt.

Nachkommastellen in Ausdruck werden auf so viele Stellen gerundet, wie im Code fĂĽr Format Nullen hinter dem Dezimaltrennzeichen stehen.

#: Wenn in Ausdruck eine Ziffer an der Stelle des Platzhalters # im Code fĂĽr Format steht, wird die Ziffer angezeigt. Ansonsten wird an dieser Stelle nichts angezeigt.

Dieses Zeichen verhält sich wie die 0, außer dass führende oder nachgestellte Nullen nicht angezeigt werden, wenn mehr Zeichen # im Code für Format vorhanden sind als Ziffern in Ausdruck. Es werden nur die maßgeblichen Ziffern in Ausdruck angezeigt.

.: Der Dezimalplatzhalter legt die Anzahl der Dezimalstellen links und rechts vom Dezimaltrennzeichen fest.

Wenn der Code für Format nur # als Platzhalter links neben diesem Symbol enthält, beginnen Zahlen kleiner als 1 mit einem Dezimaltrennzeichen. Um immer eine führende Null bei Dezimalzahlen anzuzeigen, verwenden Sie 0 als Platzhalter für die erste Ziffer links vom Dezimaltrennzeichen.

%: Multipliziert Ausdruck mit 100 und fĂĽgt das Prozentzeichen (%) ein, wobei Ausdruck im Code fĂĽr Format erscheint.

E- E+ e- e+ : Wenn der Code für Format mindestens einen Ziffernplatzhalter (0 oder #) rechts neben dem Symbol E-, E+, e- oder e+ enthält, wird Ausdruck im wissenschaftlichen oder exponentiellen Format formatiert. Der Buchstabe E oder e wird zwischen der Zahl und dem Exponenten eingefügt. Die Anzahl der Platzhalter für Ziffern rechts neben dem Symbol bestimmt die Anzahl der Ziffern im Exponenten.

Ist der Exponent negativ, so wird bei den Symbolen E-, E+, e-, e+ ein Minuszeichen unmittelbar vor dem Exponenten ausgegeben. Ist der Exponent positiv, so wird nur bei den Symbolen E+ oder e+ ein Pluszeichen ausgegeben.

Das Tausendertrennzeichen wird angezeigt, wenn der Code für Format das Trennzeichen enthält, das von Ziffernplatzhaltern (0 oder #) umgeben ist.

Ob der Punkt als Tausender- oder Dezimaltrennzeichen verwendet wird, hängt vom verwendeten Gebietsschema ab. Welches Zeichen tatsächlich als Dezimaltrennzeichen angezeigt wird, richtet sich nach dem Zahlenformat in Ihren Systemeinstellungen. In den hier gezeigten Beispielen wird angenommen, dass das Gebietsschema auf "USA" eingestellt ist.

- + $ ( ) Leerzeichen: Ein Plus (+), Minus (-), Dollar ($), Leerzeichen oder Klammern, die direkt in den Code fĂĽr Format eingegeben werden, werden so direkt als Zeichen angezeigt.

Um andere als die hier angegebenen Zeichen auszugeben, müssen Sie einen umgekehrten Schrägstrich (\) vor das entsprechende Zeichen setzen oder das Zeichen in Anführungsstriche (" ") setzen.

\: Der Rückstrich zeigt das nächste Zeichen im Code für Format an.

Zeichen im Code für Format, die eine besondere Bedeutung haben, können nur dann direkt als Zeichen angezeigt werden, wenn ihnen ein Rückstrich vorangestellt ist. Der Rückstrich selbst wird nicht angezeigt, es sei denn, Sie geben einen doppelten Rückstrich (\\) in den Code für Format ein.

Die Zeichen, denen Sie im Format-Code einen umgekehrten Schrägstrich voranstellen müssen, damit sie als normales Zeichen (also nicht in ihrer Sonderbedeutung) angezeigt werden, sind die Zeichen zur Formatierung von Datum- und Zeitangaben (a, c, d, h, m, n, p, q, s, t, w, y, /, :), von Zahlen (#, 0, %, E, e, Komma, Punkt) und von Zeichenfolgen (@, &, <, >, !).

Sie können auch die folgenden vordefinierten Zahlenformate verwenden. Mit Ausnahme von "General Number" geben alle vordefinierten Codes für Format die Zahl als Dezimalzahl mit zwei Dezimalstellen zurück.

Bei Verwendung vordefinierter Formate muss der jeweilige Name im Formatausdruck in AnfĂĽhrungszeichen stehen.

Vordefinierte Formate

General Number: Zahlen werden so angezeigt, wie sie eingegeben wurden.

Currency: FĂĽgt vor der Zahl ein Dollarzeichen ein und setzt negative Zahlen in Klammern.

Fixed: Zeigt vor dem Dezimaltrennzeichen mindestens eine Ziffer an.

Standard: Zeigt Zahlen mit Tausender-Trennzeichen an.

Percent: Multipliziert die Zahl mit 100 und hängt ihr ein Prozentzeichen an.

Scientific: Zeigt die Zahl im wissenschaftlichen Format an (beispielsweise 1,00E+03 fĂĽr 1000).

Ein Code fĂĽr Format kann in drei Abschnitte unterteilt werden, die durch Semikolons getrennt sind. Der erste Teil definiert das Format fĂĽr positive Werte, der zweite Teil fĂĽr negative Werte und der dritte Teil fĂĽr Null. Wenn Sie nur einen Code fĂĽr Format angeben, gilt dieser fĂĽr alle Zahlen.

Sie können das Gebietsschema, das in LibreOffice Basic zur Kontrolle der Formatierung von Zahlen, Daten und Währungen verwendet wird, unter – Spracheinstellungen – Sprachen einstellen. In Basic Formatierungscodes wird immer der Dezimalpunkt (.) als Platzhalter für das Dezimaltrennzeichen verwendet, der in Ihrem Gebietsschema definiert ist, und durch das entsprechende Zeichen ersetzt.

Dies gilt entsprechend für das Gebietsschema für Datums-, Uhrzeit- und Währungsformate. Der Basic-Format-Code wird entsprechend Ihrer Gebietsschema-Einstellung ausgewertet und angezeigt.

Beispiel:


    txt = bas.Format(6328.2, '##.##0.00')
    print(txt)
  

GetDefaultContext

Gibt den Standardkontext der "Process Service Factory" zurĂĽck, sofern vorhanden, andernfalls wird eine Nullreferenz zurĂĽckgegeben.

GetDefaultContext ist eine Alternative zur Methode getComponentContext(), die von der globalen Variable XSCRIPTCONTEXT oder aus dem Modul uno.py verfĂĽgbar ist.

Syntax:

svc.GetDefaultContext(): uno

RĂĽckgabewert:

Der Standardkomponentenkontext wird verwendet, wenn Dienste ĂĽber XMultiServiceFactory instanziiert werden. Siehe das Kapitel Professional UNO im Entwicklerhandbuch auf api.libreoffice.org fĂĽr mehr Informationen.

Beispiel:


    ctx = bas.GetDefaultContext()
  

GetGuiType

Gibt einen numerischen Wert zurück, der die grafische Benutzeroberfläche angibt. Diese Funktion wird nur aus Gründen der Abwärtskompatibilität mit früheren Versionen bereitgestellt.

Verweist auf die Methode system() aus dem Python-Modul platform, um das Betriebssystem zu identifizieren.

Syntax:

svc.GetGuiType(): int

Beispiel:


    n = bas.GetGuiType()
  

GetPathSeparator

Gibt das betriebssystemabhängige Verzeichnistrennzeichen zurück, das zum Angeben von Dateipfaden verwendet wird.

Verwendet os.pathsep aus dem Python-Modul os, um das Pfadtrennzeichen zu identifizieren.

Syntax:

svc.GetPathSeparator(): str

Beispiel:


    sep = bas.GetPathSeparator()
  

GetSystemTicks

Gibt die Anzahl der vom Betriebssystem bereitgestellten System-Ticks zurück. Mit dieser Funktion können Sie bestimmte Prozesse optimieren. Verwenden Sie diese Methode, um die Zeit in Millisekunden zu schätzen:

Syntax:

svc.GetSystemTicks(): int

Beispiel:


    ticks_ini = bas.GetSystemTicks()
    time.sleep(1)
    ticks_end = bas.GetSystemTicks()
    bas.MsgBox("{} - {} = {}".format(ticks_end, ticks_ini,ticks_end - ticks_ini))
  

GlobalScope.BasicLibraries

Gibt das UNO-Objekt zurück, das alle gemeinsam genutzten Basic-Bibliotheken und -Module enthält.

Diese Methode ist das Python-Ă„quivalent zu GlobalScope.BasicLibraries in Basic-Skripten.

Syntax:

svc.GlobalScope.BasicLibraries(): uno

RĂĽckgabewert:

com.sun.star.script.XLibraryContainer

Beispiel:

Das folgende Beispiel lädt die Gimmicks Bibliothek Basic, falls sie noch nicht geladen wurde.


    libs = bas.GlobalScope.BasicLibraries()
    if not libs.isLibraryLoaded("Gimmicks"):
        libs.loadLibrary("Gimmicks")
  

GlobalScope.DialogLibraries

Gibt das UNO-Objekt zurück, das alle gemeinsam genutzten Dialogbibliotheken enthält.

Diese Methode ist das Python-Ă„quivalent zu GlobalScope.DialogLibraries in Basic-Skripten.

Syntax:

svc.GlobalScope.DialogLibraries(): uno

RĂĽckgabewert:

com.sun.star.comp.sfx2.DialogLibraryContainer

Beispiel:

Das folgende Beispiel zeigt ein Meldungsfeld mit den Namen aller verfĂĽgbaren Dialogbibliotheken.


    dlg_libs = bas.GlobalScope.DialogLibraries()
    lib_names = dlg_libs.getElementNames()
    bas.MsgBox("\n".join(lib_names))
  

InputBox

Syntax:

svc.InputBox(prompt: str, [title: str], [default: str], [xpostwips: int, ypostwips: int]): str

Parameter:

Meldung: Zeichenfolgenausdruck, der im Dialog als Meldung angezeigt wird.

Titel: Zeichenfolgenausdruck, der in der Titelleiste des Dialogs angezeigt wird.

Standard: Zeichenfolgenausdruck, der im Textfeld des Dialogs als Standard angezeigt wird, wenn keine andere Eingabe ĂĽbergeben wird.

x_Position_twips: Integerausdruck, der die horizontale Position des Dialogs angibt. Die Position ist eine absolute Koordinate, nimmt also nicht auf das Fenster von LibreOffice Bezug.

y_Position_twips: Integerausdruck, der die vertikale Position des Dialogs angibt. Die Position ist eine absolute Koordinate, nimmt also nicht auf das Fenster von LibreOffice Bezug.

Wenn x_Position_twips und y_Position_twips weggelassen werden, wird der Dialog auf dem Bildschirm zentriert. Als MaĂźeinheit wird Twips verwendet.

RĂĽckgabewert:

String

Beispiel:


    txt = s.InputBox('Bitte geben Sie einen Satz ein:', "Sehr geehrter Benutzer")
    s.MsgBox(txt, s.MB_ICONINFORMATION, "Bestätigung des Satzes")
  
note

AusfĂĽhrliche Informationen finden Sie im Wiki unter Input/Output to Screen with Python.


MsgBox

Zeigt einen Dialog mit einer Meldung an und gibt einen optionalen Wert zurĂĽck.
MB_xx-konstants helfen bei der Angabe des Dialogtyps, der Anzahl und Art der anzuzeigenden Schaltflächen sowie des Symboltyps. Durch Addition ihrer jeweiligen Werte bilden sie Bitmuster, die das Aussehen des Dialogs MsgBox festlegen.

Syntax:

bas.MsgBox(prompt: str, [buttons: int], [title: str])[: int]

Parameter:

Meldung: Zeichenfolgenausdruck, der im Dialog als Meldung angezeigt wird. Zeilenumbrüche können Sie mit Chr$(13) einfügen.

Dialogtitel: Zeichenfolgenausdruck, der in der Titelleiste des Dialoges angezeigt wird. Wird dieser weggelassen, so erscheint in der Titelleiste der Name der jeweiligen Anwendung.

Schaltflächen: Ein beliebiger Ausdruck vom Typ Integer, der den Dialogtyp angibt und Anzahl und Art der angezeigten Schaltflächen sowie die Art des Symbols festlegt. Schaltflächen stellt eine Kombination von Bitmustern dar. Durch Addition ihrer jeweiligen Werte können also mehrere Dialogelemente definiert werden:

RĂĽckgabewert:

Eine optionale ganze Zahl, wie in den obigen Eigenschaften IDxx beschrieben.

Beispiel:


    txt = s.InputBox('Bitte geben Sie einen Satz ein:', "Sehr geehrter Benutzer")
    s.MsgBox(txt, s.MB_ICONINFORMATION, "Bestätigung des Satzes")
  
note

AusfĂĽhrliche Informationen finden Sie im Wiki unter Input/Output to Screen with Python.


Now

Gibt das aktuelle Systemdatum und die aktuelle Uhrzeit als ein natives Python-Objekt datetime.datetime zurĂĽck.

Syntax:

svc.Now(): datetime

Beispiel:


    bas.MsgBox(bas.Now(), bas.MB_OK, "Now")
  

RGB

Gibt einen ganzzahligen Farbwert zurĂĽck, der aus roten, grĂĽnen und blauen Komponenten besteht.

Syntax:

svc.RGB(red:int, green: int, blue: int): int

Parameter:

Rot: Ein beliebiger Integerausdruck, der die Rotkomponente (0-255) der zusammengesetzten Farbe angibt.

GrĂĽn: Ein beliebiger Integerausdruck, der die GrĂĽnkomponente (0-255) der zusammengesetzten Farbe angibt.

Blau: Ein beliebiger Integerausdruck, der die Blaukomponente (0-255) der zusammengesetzten Farbe angibt.

Der resultierende Wert Long wird mit der folgenden Formel berechnet:
Ergebnis = rotĂ—65536 + grĂĽnĂ—256 + blau.

warning

Im VBA-Kompatibilitätsmodus (Option VBASupport 1) wird der Wert Long berechnet als
Ergebnis = rot + grĂĽnĂ—256 + blauĂ—65536
Siehe VGA-Funktion RGB


tip

Der Dialog Farbauswahl hilft bei der Berechnung der Rot-, Grün- und Blaukomponenten einer zusammengesetzten Farbe. Ändern der Textfarbe und das Auswählen von Benutzerdefinierte Farbe zeigt den Farbauswahldialog an.


RĂĽckgabewert:

Integer

Beispiel:


    YELLOW = bas.RGB(255,255,0)
  

ThisComponent

Wenn die aktuelle Komponente auf ein LibreOffice-Dokument verweist, gibt diese Methode das UNO-Objekt zurĂĽck, welches das Dokument darstellt.

Die Methode gibt None zurĂĽck, wenn die aktuelle Komponente keinem Dokument entspricht.

Syntax:

svc.ThisComponent(): uno

Beispiel:


    comp = bas.ThisComponent
    bas.MsgBox("\n".join(comp.getSupportedServiceNames()))
  

ThisDatabaseDocument

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 Methode None zurĂĽck.

Syntax:

svc.ThisDatabaseDocument(): uno

Beispiel:


    db_doc = bas.ThisDatabaseDocument
    table_names = db_doc.DataSource.getTables().getElementNames()
    bas.MsgBox("\n".join(table_names))
  
tip

Besuchen Sie die API-Seite OfficeDatabaseDocument, um mehr ĂĽber die Hauptkomponentenstruktur von Base zu erfahren.


Xray

Untersuchen Sie Uno-Objekte oder -Variablen.

Syntax:

svc.Xray(obj: any)

Parameter:

obj: Eine Variable oder ein UNO-Objekt.

Beispiel:


    bas.Xray(bas.StarDesktop)
  
warning

Alle ScriptForge Basic-Routinen oder Bezeichner, denen ein Unterstrich "_" vorangestellt ist, sind fĂĽr den internen Gebrauch reserviert. Sie sind nicht fĂĽr die Verwendung in Basic-Makros oder Python-Skripten vorgesehen.


Bitte unterstĂĽtzen Sie uns!