Inhalte
Index 🔎︎

# 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.

Dieser Dienst ist ab LibreOffice 7.2 verfügbar.

Typisches Beispiel:

       svc.MsgBox('Dies soll in einem Meldungsfeld angezeigt werden')

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

## Dienstaufruf

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

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

## Eigenschaften

Name | ReadOnly | 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.

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 Zeichenkette konvertieren, müssen Datum und Uhrzeit entweder in einem der für Ihre Gebietsschema-Einstellung definierten Datum-Annahmemuster eingegeben werden (siehe LibreOffice – EinstellungenExtras – Optionen… – 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 = svc.CDate(1000.25)
        svc.MsgBox(str(d)) # 1902-09-26 06:00:00
        svc.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 = svc.CDateFromUnoDateTime(uno_date)
        svc.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 = svc.CDateToUnoDateTime(current_datetime)
        svc.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 = svc.ConvertFromUrl( "file:///C:/Program%20Files%20(x86)/LibreOffice/News.txt")
        svc.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 = svc.ConvertToUrl( 'C:\Program Files(x86)\LibreOffice\News.txt')
        svc.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 = svc.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 diesem Datums-/Uhrzeitwert mehrmals hinzugefügt.

### Rückgabewert:

Ein Wert "datetime.datetime".

### Beispiel:

        dt = datetime.datetime(2004, 1, 31)
        dt = svc.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".

firstdayofweek: An optional parameter that specifies the starting day of a week.

firstdayofweek value | Erklärung
0 | Systemvorgabewert verwenden
1 | Sonntag (Vorgabe)
2 | Montag
3 | Dienstag
4 | Mittwoch
5 | Donnerstag
6 | Freitag
7 | Samstag

firstweekofyear: An optional parameter that specifies the starting week of a year.

firstweekofyear value | 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 = svc.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(svc.DatePart("ww", datetime.datetime(2005,12,31)
        print(svc.DatePart('q', datetime.datetime(1999,12,30)

## DateValue

Berechnet einen Datumswert aus einer Datumszeichenfolge.

### Syntax:

svc.DateValue(date: str): datetime

### Parameter:

Date: Zeichenkettenausdruck, der das Datum enthält, das Sie berechnen möchten. Im Gegensatz zur Funktion DateSerial, die Jahre, Monate und Tage als separate numerische Werte benötigt, braucht die Funktion DateValue eine Datumszeichenkette, die einem der für die Gebietsschemaeinstellung definierten Datumsmuster (Siehe LibreOffice – EinstellungenExtras – Optionen… – Spracheinstellungen – Sprachen) oder dem ISO-Datumsformat (Momentan wird nur das ISO-Format mit Bindestrichen akzeptiert, beispielsweise "2012-12-31" ) entspricht.

### Rückgabewert:

Das berechnete Datum.

### Beispiel:

        dt = svc.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:

expression: Numeric expression that you want to convert to a formatted string.

format: String that specifies the format code for the number. If format is omitted, the Format function works like the LibreOffice Basic Str() function.

### Rückgabewert:

Text string.

### Codes formatieren

The following list describes the codes that you can use for formatting a numeric expression:

0: If expression has a digit at the position of the 0 in the format code, the digit is displayed, otherwise a zero is displayed.

If expression has fewer digits than the number of zeros in the format code, (on either side of the decimal), leading or trailing zeros are displayed. If the expression has more digits to the left of the decimal separator than the amount of zeros in the format code, the additional digits are displayed without formatting.

Decimal places in the expression are rounded according to the number of zeros that appear after the decimal separator in the format code.

#: If expression contains a digit at the position of the # placeholder in the format code, the digit is displayed, otherwise nothing is displayed at this position.

This symbol works like the 0, except that leading or trailing zeroes are not displayed if there are more # characters in the format code than digits in the expression. Only the relevant digits of the expression are displayed.

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

If the format code contains only # placeholders to the left of this symbol, numbers less than 1 begin with a decimal separator. To always display a leading zero with fractional numbers, use 0 as a placeholder for the first digit to the left of the decimal separator.

%: Multiplies the expressionby 100 and inserts the percent sign (%) where the expression appears in the format code.

E- E+ e- e+ : If the format code contains at least one digit placeholder (0 or #) to the right of the symbol E-, E+, e-, or e+, the expression is formatted in the scientific or exponential format. The letter E or e is inserted between the number and the exponent. The number of placeholders for digits to the right of the symbol determines the number of digits in the exponent.

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.

The thousands delimiter is displayed if the format code contains the delimiter enclosed by digit placeholders (0 or #).

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.

- + $ ( ) space: A plus (+), minus (-), dollar ($), space, or brackets entered directly in the format code is displayed as a literal character.

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.

\ : The backslash displays the next character in the format code.

Characters in the format code that have a special meaning can only be displayed as literal characters if they are preceded by a backslash. The backslash itself is not displayed, unless you enter a double backslash (\\) in the format code.

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 Zeichenketten (@, &, <, >, !).

You can also use the following predefined number formats. Except for "General Number", all of the predefined format codes return the number as a decimal number with two decimal places.

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).

A format code can be divided into three sections that are separated by semicolons. The first part defines the format for positive values, the second part for negative values, and the third part for zero. If you only specify one format code, it applies to all numbers.

Sie können das Gebietsschema, das in LibreOffice Basic zur Kontrolle der Formatierung von Zahlen, Daten und Währungen verwendet wird, unter LibreOffice – EinstellungenExtras – Optionen… – 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 = svc.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 = svc.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 = svc.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

        svc.GetPathSeparator(): str

### Beispiel:

        sep = svc.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 = svc.GetSystemTicks()
        time.sleep(1)
        ticks_end = svc.GetSystemTicks()
        svc.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 = svc.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 = svc.GlobalScope.DialogLibraries()
        lib_names = dlg_libs.getElementNames()
        svc.MsgBox("\n".join(lib_names))

## InputBox

### Syntax:

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

### Parameter:

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

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

Standard: Zeichenkettenausdruck, 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:

Zeichenfolge

### Beispiel:

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

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:

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

### Parameter:

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

Dialogtitel: Zeichenkettenausdruck, 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, MB_ICONINFORMATION, "Bestätigung des Satzes")

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:

        svc.MsgBox(svc.Now(), svc.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 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 = svc.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 = svc.ThisComponent
        svc.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 = svc.ThisDatabaseDocument
        table_names = db_doc.DataSource.getTables().getElementNames()
        bas.MsgBox("\n".join(table_names))

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:

        svc.Xray(svc.StarDesktop)

Alle Basic-Routinen oder -Identifikatoren von ScriptForge mit einem Unterstrich "_" sind für internen Gebrauch reserviert. Sie sind nicht für den Einsatz in Basic-Macros gedacht.

Verwandte Themen

GlobalScope specifier

Programmierung mit Python-Skripten

uno.fileUrlToSystemPath()

uno.systemPathToFileUrl()

Input/Output to Screen with Python im Wiki

XSCRIPTCONTEXT.getComponentContext()

uno.getComponentContext()

platform.system()

os.pathsep()