ScriptForge.Basic service

De service ScriptForge.Basic bevat een aantal LibreOffice Basic methodes die vanuit Python uitgevoerd kunnen worden. De methodes in de service Basic gebruiken dezelfde syntaxis en doen hetzelfde als de ingebouwde Basic-functies.

Typerend voorbeeld:


   bas.MsgBox('Toon deze tekst in een berichtvenster vanuit een Python-script')
  
warning

De service ScriptForge.Basic is alleen voor gebruik in Python-scripts.


Service aanroep

note

Voordat de service Basic gebruikt kan worden moet de methode CreateScriptService worden geĆÆmporteerd uit de module scriptforge:



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

Eigenschappen

Naam

AlleenLezen

Type

Beschrijving

MB_OK, MB_OKCANCEL, MB_RETRYCANCEL, MB_YESNO, MB_YESNOCANCEL

Ja

Integer

Waardes: 0, 1, 5, 4, 3

MB_ICONEXCLAMATION, MB_ICONINFORMATION, MB_ICONQUESTION, MB_ICONSTOP

Ja

Integer

Waardes: 48, 64, 32, 16

MB_ABORTRETRYIGNORE, MB_DEFBUTTON1, MB_DEFBUTTON2, MB_DEFBUTTON3

Ja

Integer

Waardes: 2, 128, 256, 512

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

Ja

Integer

Waardes: 3, 2, 5, 7, 1, 4, 6
Een constante die aangeeft welke knop in de MsgBox is ingedrukt.

StarDesktop

Ja

UNO
-object

Retourneert het StarDesktop-object dat de toepassing LibreOffice vertegenwoordigt.

ThisComponent

Ja

UNO
-object

Als de huidige component verwijst naar een LibreOffice-document, retourneert deze methode het UNO-object dat het document vertegenwoordigt. Deze eigenschap retourneert Geen wanneer de huidige component niet overeenkomt met een document.

ThisDatabaseDocument

Ja

UNO
-object

Als het script wordt uitgevoerd vanuit een Base-document of een van de subcomponenten ervan, retourneert deze methode de hoofdcomponent van de Base-instantie. Anders retourneert deze eigenschap Geen.


De lijst met methodes in de service 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
Xray


note

Er bestaan Python-alternatieven voor methoden die gemarkeerd zijn met (*).


CDate

Converteert een numerieke expressie of een tekenreeks naar een intern datetime.datetime Python-object.

note

Met deze methode kan de interne Basic-functie CDate worden gebruikt in Python-scripts.


Syntaxis:

svc.CDate(expression: any): obj

Parameters:

expression: een numerieke expressie of een tekenreeks die staat voor een datum.

Wanneer u een tekenreeksexpressie converteert, moeten de datum en tijd worden ingevoerd in een van de datumacceptatiepatronen die zijn gedefinieerd voor uw landinstelling (zie - Taalinstellingen - Talen) of in ISO datumformaat (momenteel wordt alleen het ISO-formaat met koppeltekens, bijvoorbeeld "31-12-2012" geaccepteerd). In numerieke uitdrukkingen vertegenwoordigen waardes links van de decimaal de datum, beginnend op 31 december 1899. Waardes rechts van de decimaal vertegenwoordigen de tijd.

Voorbeeld:


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

CDateFromUnoDateTime

Converteert een UNO date/time veld naar een intern datetime.datetime Python-object.

Syntaxis:

svc.CDateFromUnoDateTime(unodate: uno): obj

Parameters:

unodate: Een UNO datum/tijd object van een van de volgende types: com.sun.star.util.DateTime, com.sun.star.util.Date of com.sun.star.util.Time

Voorbeeld:

In dit voorbeeld wordt een com.sun.star.util.DateTime object aangemaakt en daarna geconverteerd naar een datetime.datetime Python object.


    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

Converteert een representatie van een datum naar een com.sun.star.util.DateTime object.

Syntaxis:

svc.CDateToUnoDateTime(date: obj): uno

Parameters:

date: Een Python datum/tijd object van een van de volgende types: datetime.datetime, datetime.date, datetime.time, float (time.time) of time.struct_time.

Voorbeeld:


    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

Retourneert een bestandsnaam voor het als argument meegegeven bestand: url.

Syntaxis:

svc.ConvertFromUrl(url: str): str

Parameters:

url: Een bestand dat met de URL wordt aangegeven.

Retourtype:

Een systeempad bestandsnaam.

Voorbeeld:


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

uno module de fileUrlToSystemPath()-methode retourneert een systeempad met behulp van identieke syntaxis.



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

ConvertToUrl

Retourneert een bestand: URL voor het gegeven systeempad.

Syntaxis:

svc.ConvertToUrl(systempath: str): str

Parameters:

systempath: Een systeembestandsnaam als een tekenreeks.

Retourtype:

A file: URL als een tekenreeks.

Voorbeeld:


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

uno module de systemPathToFileUrl()-methode retourneert een bestands-URL voor het opgegeven systeempad.



    from uno import systemPathToFileUrl as ConvertToUrl
    filename = ConvertToUrl( 'C:\Program Files(x86)\LibreOffice\News.txt' )
    bas.MsgBox(filename)
  

CreateUnoService

Maakt een instantie van een UNO-service aan met de ProcessServiceManager.

Syntaxis:

svc.CreateUnoService(servicename: str): uno

Parameters:

servicename: Een volledige servicenaam zoals com.sun.star.ui.dialogs.FilePicker of com.sun.star.sheet.FunctionAccess.

Voorbeeld:


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

CreateUnoStruct

Retourneert een exemplaar van een UNO-structuur van het opgegeven type.

Syntaxis:

svc.CreateUnoStruct(unostructure: str): uno

Parameters:

unostructure: Een volledig gekwalificeerde structuurnaam zoals com.sun.star.beans.Property of com.sun.star.util.DateTime.

Voorbeeld:


    date_struct = CreateUnoStruct('com.sun.star.util.DateTime')
  
tip

uno module createUnoStruct()-methode maakt een instantie van een Uno-structuurtype.



    import uno
    p = uno.createUnoStruct( 'com.sun.star.beans.Property' )
    bas.MsgBox(p)
  

DateAdd

Voegt een datum of tijdsperiode een aantal keren toe aan een gegeven datum/tijd en retourneert de resulterende datum.

Syntaxis:

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

Parameters:

interval: Een tekst uit de onderstaande tabel die aangeeft wat het datum/tijd interval is.

interval (Tekst)

Uitleg

yyyy

Jaar

q

Kwartaal

m

Maand

y

Dag van het jaar

w

Dag van de week

ww

Week van het jaar

d

Dag

h

Uur

n

Minuut

s

Seconde


number: Een numerieke expressie die aangeeft hoe vaak de waarde van het interval wordt opgeteld (positieve waarde) of afgetrokken (negatieve waarde).

date: Een datetime.datetime waarde die het beginpunt aangeeft, de waarde van het interval wordt number keer aan deze datetime.datetime waarde toegevoegd.

Retourtype:

Een datetime.datetime waarde.

Voorbeeld:


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

DateDiff

Retourneert het aantal dagen of het aantal tijdsintervallen tussen twee opgegeven datums/tijden.

Syntaxis:

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

Parameters:

interval: Een tekenreeks expressie die het datuminterval aangeeft, zoals hierboven bij de methode DateAdd is beschreven.

date1, date2: De twee datetime.datetime waardes die vergeleken gaan worden.

eerstedagvandeweek: Een optionele parameter die de eerste dag van de week aangeeft.

eerstedagvandeweek waarde

Uitleg

0

Standaardwaarde van het systeem gebruiken

1

Zondag (standaard)

2

Maandag

3

Dinsdag

4

Woensdag

5

Donderdag

6

Vrijdag

7

Zaterdag


eersteweekvanhetjaar: Een optionele parameter die de eerste week van het jaar aangeeft.

eersteweekvanhetjaar waarde

Uitleg

0

Standaardwaarde van het systeem gebruiken

1

Week 1 is de week waarin 1 januari valt (standaard)

2

Week 1 is de eerste week waarin vier of meer dagen van dat jaar vallen

3

Week 1 is de eerste week waarin alleen dagen van het nieuwe jaar vallen


Retourtype:

Een getal.

Voorbeeld:


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

DatePart

De functie DatePart retourneert een aangegeven deel van een datum.

Syntaxis:

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

Parameters:

interval: Een tekst die het datuminterval aangeeft, dit zoals hierboven bij de methode DateAdd is beschreven.

date: De datum waaruit het resultaat wordt berekend.

firstdayofweek, firstweekofyear: optionele parameters die de eerste dag van de week resp. jaar aangeven. dit zoals hierboven bij de methode DateDiff is beschreven.

Retourtype:

Het gevraagde deel uit de gegeven datum/tijd.

Voorbeeld:


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

DateValue

Bepaalt een datumwaarde uit een tekenreeks die een datum weergeeft.

Syntaxis:

svc.DateValue(date: str): datetime

Parameters:

date: een tekenreeks die de datum bevat die wordt geconverteerd naar een Date-object.

note

De tekenreeks die wordt doorgegeven aan DateValue moet worden uitgedrukt in een van de datumnotaties die zijn gedefinieerd door uw landinstelling (zie - Taalinstellingen - Talen) of gebruik de ISO datumformaat "jjjj-mm-dd" (jaar, maand en dag gescheiden door koppeltekens).


Retourtype:

De berekende datum.

Voorbeeld:


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

Format

Converteert een getal naar een tekenreeks en past het aan volgens de gespecificeerde opmaak.

Syntaxis:

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

Parameters:

expression: Numerieke expressie die u wilt omzetten naar een geformatteerde tekenreeks.

opmaak: Tekenreeks die de opmaakcode voor het nummer specificeert. Als opmaak wordt weggelaten, werkt de functie Format zoals de functie LibreOffice Basic Str().

Retourtype:

Tekenreeks.

Opmaakcodes

In BASIC kan een opmaak-code worden verdeeld in drie secties, gescheiden door puntkomma's. Het eerste deel definieert de notatie voor positieve waardes, het tweede deel voor negatieve waardes en het derde deel voor nul. Als u slechts ƩƩn opmaak-code opgeeft, geldt deze voor alle getallen.

U kunt de landinstelling instellen die wordt gebruikt voor het beheren van de opmaak van getallen, datums en valuta's in LibreOffice Basic in - Taalinstellingen - Talen. In basisformaatcodes wordt de decimale punt (.) altijd gebruikt als plaatsaanduider voor het decimaalscheidingsteken dat in uw taalinstelling is gedefinieerd en wordt vervangen door het overeenkomstige teken.

Hetzelfde geldt voor de landinstellingen voor datum-, tijd- en valuta-opmaak. De BASIC-notatiecode wordt geĆÆnterpreteerd en weergegeven volgens uw landinstelling.

De codes die gebruikt kunnen worden voor het formatteren van een numerieke expressie zijn:

Code

Beschrijving

0

Als expressie een cijfer heeft op de positie van de 0 in de opmaak-code, wordt het cijfer weergegeven, anders wordt een nul weergegeven.

Als de expression minder cijfers bevat dan het aantal nullen in de format code, (aan beide zijden van de decimaal), dan worden nullen vooraan en achteraan getoond, Als de expression meer cijfers heeft voor de komma dan het aantal nullen in de format code, dan worden die extra cijfers onopgemaakt getoond.

Decimale plaatsen in de expression worden afgerond naar het aantal nullen na het decimale scheidingsteken in de format code.

#

Als expressie een cijfer bevat op de positie van de # tijdelijke aanduiding in de opmaak-code, wordt het cijfer weergegeven. Anders wordt er niets op deze positie weergegeven.

Het symbool werkt als de 0, echter zonder dat de nullen vooraan en achteraan worden getoond als er meer # tekens in de format code voorkomen dan in de expression. Alleen relevante cijfers van de expression worden getoond.

. (period)

De decimale plaatsaanduiding bepaalt het aantal decimalen links en rechts van het decimaalteken.

Als de format code links van dit symbool alleen # placeholders bevat, dan staat er voor getallen kleiner dan 1 een decimaal scheidingsteken. Om in deze gevallen toch een nul voor het decimaal scheidingsteken te krijgen dient u als placeholder een 0 te gebruiken op de eerste plaats links van het decimaal scheidingsteken.

Het gebruik van de punt als scheidingsteken voor duizendtallen en decimalen is afhankelijk van de landinstellingen. Als u een getal direct in BASIC-broncode invoert, gebruik dan altijd een punt als decimaal scheidingsteken. Het feitelijke teken dat wordt weergegeven als decimaal scheidingsteken is afhankelijk van uw systeeminstellingen.

%

Vermenigvuldigt de expressie met 100 en voegt het procentteken (%) in op de plaats waar de expressie in de opmaak-code staat.

E- E+ e- e+

Als de opmaak-code minstens ƩƩn cijferplaatsaanduiding (0 of #) rechts van het symbool E-, E+, e- of e+ bevat, wordt de expressie geformatteerd in de wetenschappelijke of exponentiƫle notatie. De letter E of e wordt tussen het getal en de exponent ingevoegd. Het aantal plaatsaanduidingen voor cijfers rechts van het symbool bepaalt het aantal cijfers in de exponent.

Als de exponent negatief is, wordt een minteken vlak voor een exponent met E-, E+, e-, e+ geplaatst. Als de exponent positief is wordt een plusteken alleen voor exponenten met E+ of e+ geplaatst.

- + $ ( ) space

: Een plusteken (+), minteken (-), dollarteken ($), spatie of haakjes die rechtstreeks in de opmaak-code worden ingevoerd, worden weergegeven als een letterlijk teken.

\

Om andere tekens dan die hier opgesomd werden weer te geven, moet u het laten voorafgaan door een backslash (\), of het tussen aanhalingstekens plaatsen (" ").

De backslash geeft het volgende teken in de opmaak-code weer.

Tekens in de format code die een speciale betekenis hebben kunnen dus alleen als tekst worden getoond door er een backslash voor te zetten. De backslash wordt uiteraard niet getoond, om een backslash te tonen dient u een dubbele backslash (\\) in de de opmaakcode te zetten.

Tekens die moeten worden voorafgegaan door een backslash in de opmaakcode om te worden weergegeven als letterlijke tekens zijn de datum- en tijdopmaaktekens (a, c, d, h, m, n, p, q, s, t, w, y, /, :), numerieke opmaaktekens (#, 0, %, E, e, komma, punt) en tekenreeksopmaaktekens (@, &, <, >, !).


Vooraf gedefinieerde indelingen

U kunt ook een al gedefinieerde opmaak voor getallen gebruiken. Met uitzondering van de "Algemene getalopmaak" tonen al die opmaakcodes het getal als een getal met twee cijfers achter de komma.

Als u voorgedefinieerde opmaak gebruikt, moet de naam van de opmaak tussen aanhalingstekens staan.

Code

Beschrijving

"<"

expressie naar kleine letters converteren

">"

expressie naar hoofdletters converteren

"c" or "General Date"

Retourneert de numerieke expressie in een korte datumnotatie, optioneel met "U:MM:SS AM/PM". Als expressie een tekenreeks is, wordt de tekenreeks geretourneerd.

"n"

Retourneert de minuut van de numerieke expressie, met 1 of 2 cijfers.

"nn"

Retourneert de minuut van de numerieke expressie, met 2 cijfers.

"w"

Retourneert de weekdag van de numerieke expressie. 1 is maandag en 7 is zondag.

"General Number"

Geeft de numerieke expressie met 12 cijfers (0,#############).

"Currency"

Retourneert de numerieke expressie in de valuta van de taalinstelling.

"Fixed"

Retourneert de numerieke expressie met 2 decimalen (0,00).

"Standard"

Retourneert de numerieke expressie met scheidingstekens voor duizendtallen en 2 decimalen (@0,00).

"Percent"

Retourneert de numerieke expressie als een percentagewaarde (0,00%).

"Scientific"

Retourneert de numerieke expressie in wetenschappelijke notatie (#.00E+00);

"Yes/No"

Retourneert "Ja" als de numerieke expressie ongelijk is aan nul, anders "Nee". "Ja" en "Nee" zijn gelokaliseerd.

"True/False"

Retourneert "Waar" als de numerieke expressie ongelijk is aan nul, anders "Onwaar". "Waar" en "Onwaar" zijn gelokaliseerd.

"On/Off"

Retourneert "Aan" als de numerieke expressie niet gelijk is aan nul, anders "Uit". "Aan" en "Uit" zijn gelokaliseerd.

"Long Date" or "dddddd"

Retourneert de numerieke expressie in de lange datumnotatie van het systeem en is afhankelijk van de taalinstellingen.

"Medium Date"

Retourneert de numerieke expressie in de datumnotatie DD-MMM-JJ en is afhankelijk van de taalinstellingen.

"Short Date" or "ddddd"

Retourneert de numerieke expressie in de korte datumnotatie van het systeem en is afhankelijk van de taalinstellingen.

"Long Time" or "ttttt"

Retourneert de numerieke expressie in de lange-tijdnotatie van het systeem en is afhankelijk van de taalinstelling("H:MM:SS AM/PM").

"Medium Time"

Retourneert de numerieke expressie in systeem-medium-time-formaat en is afhankelijk van de taalinstelling (UU:MM AM/PM)

"Short Time"

Retourneert de numerieke expressie in het korte-tijdsformaat van het systeem en is afhankelijk van de taalinstellingen (UU:MM).


U kunt de landinstelling instellen die wordt gebruikt voor het beheren van de opmaak van getallen, datums en valuta's in LibreOffice Basic in - Taalinstellingen - Talen. In basisformaatcodes wordt de decimale punt (.) altijd gebruikt als plaatsaanduider voor het decimaalscheidingsteken dat in uw taalinstelling is gedefinieerd en wordt vervangen door het overeenkomstige teken.

Hetzelfde geldt voor de landinstellingen voor datum-, tijd- en valuta-opmaak. De BASIC-notatiecode wordt geĆÆnterpreteerd en weergegeven volgens uw landinstelling.

Voorbeeld:


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

GetDefaultContext

Retourneert de standaardcontext van de processervicefactory, indien aanwezig, anders retourneert een null-referentie.

GetDefaultContext is een alternatief voor de methode getComponentContext die via de globale variabele XSCRIPTCONTEXT of van de module uno.py beschikbaar is.

Syntaxis:

svc.GetDefaultContext(): uno

Retourtype:

De standaard component context wordt gebruikt als de services via XMultiServiceFactory worden aangemaakt. Lees het hoofdstuk Professional UNO in de Developer's Guide op api.libreoffice.org voor meer informatie.

Voorbeeld:


    ctx = bas.GetDefaultContext()
  

GetGuiType

Retourneert een numerieke waarde die de grafische gebruikersinterface aangeeft. Deze functie is alleen bedoeld voor achterwaartse compatibiliteit met eerdere versies.

Refereer aan de methode system van de Python-module platform om het besturingssysteem te bepalen.

Syntaxis:

svc.GetGuiType(): int

Voorbeeld:


    n = bas.GetGuiType()
  
note

Instructies voor Wiser-scripts zijn beschikbaar op de helppagina Het besturingssysteem identificeren.


tip

• De ScriptForge.Platform-service biedt een verzameling eigenschappen over de huidige uitvoeringsomgeving en -context, waaronder platformdetectie.

• Uitgebreide identificatie van de naam van het besturingssysteem is beschikbaar via de INFO("systeem") Calc-formule.


GetPathSeparator

Retourneert het besturingssysteemafhankelijke mapscheidingsteken dat wordt gebruikt om bestandspaden op te geven.

Gebruik os.pathsep van de Python-module os om het pad scheidingsteken te bepalen.

Syntaxis:

svc.GetPathSeparator(): str

Voorbeeld:


    sep = bas.GetPathSeparator()
  

GetSystemTicks

Retourneert het aantal systeemticks dat door het besturingssysteem wordt geleverd. U kunt deze functie gebruiken om bepaalde processen te optimaliseren. Gebruik deze methode om de tijd in milliseconden te schatten:

Syntaxis:

svc.GetSystemTicks(): int

Voorbeeld:


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

GlobalScope.BasicLibraries

Retourneert het UNO-object dat alle gedeelde Basic bibliotheken en modules bevat.

De methode is in Python de equivalent van GlobalScope.BasicLibraries in Basic.

Syntaxis:

svc.GlobalScope.BasicLibraries(): uno

Retourtype:

com.sun.star.script.XLibraryContainer

Voorbeeld:

In het volgende voorbeeld wordt de Gimmicks Basic-bibliotheek geladen als deze nog niet is geladen.


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

GlobalScope.DialogLibraries

Retourneert het UNO-object dat alle gedeelde dialoogbibliotheken bevat.

Deze methode is in Python de equivalent van GlobalScope.DialogLibraries in Basic.

Syntaxis:

svc.GlobalScope.DialogLibraries(): uno

Retourtype:

com.sun.star.comp.sfx2.DialogLibraryContainer

Voorbeeld:

Het volgende voorbeeld toont een berichtvenster met de namen van alle beschikbare dialoogbibliotheken.


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

InputBox

Syntaxis:

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

Parameters:

prompt:Tekst die wordt getoond als het bericht in het dialoogvenster.

titel: Tekst die getoond wordt in de titelbalk van het dialoogvenster.

standaardwaarde: Tekst die in het tekstvak wordt getoond als er geen invoer wordt ingevuld.

xpostwips: Getal die de horizontale positie aangeeft van de dialoog. De positie is een absolute coƶrdinaat en staat los van het venster van LibreOffice.

ypostwips: Getal die de verticale positie aangeeft van de dialoog. De positie is een absolute coƶrdinaat en staat los van het venster van LibreOffice.

Als xpostwips en ypostwips worden weggelaten, dan wordt de dialoog op het scherm gecentreerd. De positie wordt gespecificeerd in twips.

Retourtype:

String

Voorbeeld:


    txt = s.InputBox('Vul a.u.b. een korte zin in:', "Beste gebruiker")
    s.MsgBox(txt, s.MB_ICONINFORMATION, "Bevestiging van de korte zin")
  
note

Een uitgebreide beschrijving staat op de wiki: Input/Output to Screen with Python.


MsgBox

Toont een dialoogvenster met een bericht en retourneert een optionele waarde.
MB_xx-constanten helpen bij het specificeren van het dialoogtype, het aantal en het type knoppen dat moet worden weergegeven, plus het pictogramtype. Door hun respectieve waardes toe te voegen, vormen ze bitpatronen, die het uiterlijk van het dialoogvenster MsgBox bepalen.

Syntaxis:

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

Parameters:

prompt: Tekenreeksexpressie weergegeven als een bericht in het dialoogvenster. Regeleinden kunnen worden ingevoegd met Chr$(13).

title: Tekenreeksexpressie weergegeven in de titelbalk van het dialoogvenster. Als deze wordt weggelaten, wordt in de titelbalk de naam van de betreffende toepassing weergegeven.

buttons: Een gehele-getalexpressie die het dialoogtype specificeert, evenals het aantal en type van de weer te geven knoppen en het pictogramtype. buttons vertegenwoordigt een combinatie van bitpatronen, dat wil zeggen dat een combinatie van elementen kan worden gedefinieerd door hun respectievelijke waardes toe te voegen:

Retourtype:

Een optioneel geheel getal zoals beschreven in bovenstaande IDxx-eigenschappen.

Voorbeeld:


    txt = s.InputBox('Vul a.u.b. een korte zin in:', "Beste gebruiker")
    s.MsgBox(txt, s.MB_ICONINFORMATION, "Bevestiging van de korte zin")
  
note

Een uitgebreide beschrijving staat op de wiki: Input/Output to Screen with Python.


Now

Retourneert de huidige systeemdatum en -tijd als een datetime.datetime native Python-object.

Syntaxis:

svc.Now(): datetime

Voorbeeld:


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

RGB

Retourneert een gehele kleurwaarde die bestaat uit rode, groene en blauwe componenten.

Syntaxis:

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

Parameters:

rood: Een getal dat de rode component (0-255) aangeeft van de samengestelde kleur.

groen: Een getal dat de groene component (0-255) aangeeft van de samengestelde kleur.

blauw: Een getal dat de blauwe component (0-255) aangeeft van de samengestelde kleur.

Het resultaat heeft een Long waarde en wordt als volgt berekend:
RoodƗ65536 + GroenƗ256 + Blauw.

warning

In de VBA-compatibiliteit-mode (Option VBASupport 1) wordt de Long waarde berekend als volgt
Rood + Groen Ɨ 256 + Blauw x 65536
Bekijk de Functie RGB [VBA]


tip

De dialoog kleurkiezer helpt het bepalen van de rode, groene en blauwe componenten van een samengestelde kleur. De dialoog wordt gebruikt bij het wijzigen van de kleurtekst en het kiezen van een eigen kleur.


Retourtype:

Integer

Voorbeeld:


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

Xray

Uno-objecten of variabelen onderzoeken.

Syntaxis:

svc.Xray(obj: any)

Parameters:

obj: Een variabele of UNO-object.

Voorbeeld:


    bas.Xray(bas.StarDesktop)
  
warning

Alle ScriptForge Basic-routines of variabelen die beginnen met een underscore "_" zijn voor intern gebruik. Gebruik deze niet in een Basic of Python-macro.


Help ons, alstublieft!