TRIM(), LEN() und REPLACE() mit FunctionAccess

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

SUGON
Beiträge: 2
Registriert: Sa, 10.02.2007 21:05

TRIM(), LEN() und REPLACE() mit FunctionAccess

Beitrag von SUGON »

Hallo,
ich bin in einem Artikel auf folgende Zeilen gestoßen. Aus einem Bereich wird mit der OO-Calc Funktion MIN() der kleinste Wert ermittelt.

svc = createUnoService( "com.sun.star.sheet.FunctionAccess" )
oSheet = ThisComponent.Sheets(0) ' Get leftmost sheet

REM CellRange mit Zahlen

oCellRange = oSheet.getCellRangeByPosition( 0, 0, 0, 9 )
arg = array( oCellRange )
print svc.callFunction( "MIN", arg )

Nun möchte ich andere OO-Calc Funktionen wie TRIM(), LEN() und REPLACE() auf der gleichen Art nutzen, bekomme aber nur einen Fehler.

svc = createUnoService( "com.sun.star.sheet.FunctionAccess" )
oSheet = ThisComponent.Sheets(0) ' Get leftmost sheet

REM CellRange mit Texte

oCellRange = oSheet.getCellRangeByPosition( 0, 0, 0, 9 )
arg = array( oCellRange )
svc.callFunction( "TRIM", arg )

Welche Parameter muss ich wo setzen damit ich diese Funktionen richtig aufrufen kann oder wo liegt Fehler?

MfG

SUGON
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Beitrag von komma4 »

Der zweite Parameter muss dem Wert entsprechen, der von der Funktion bearbeitet werden kann:

bei TRIM, LEN also eine Zeichenkette, nicht einen Bereich von Zellen.

This WFM:

Code: Alles auswählen

Function calc_Func_LEN
FuncAcc = createunoservice("com.sun.star.sheet.FunctionAccess")
oSheet = ThisComponent.Sheets(0) ' Get leftmost sheet
oCell = oSheet.getCellByPosition( 5, 1 )  'Zelle F2
aResult=FuncAcc.callFunction("LEN", array( oCell.String ))
calc_Func_LEN = aResult
End Function
Bei REPLACE entsprechend mehr Parameter mitgeben:

Code: Alles auswählen

aResult=FuncAcc.callFunction("REPLACE", array( oCell.String , 1,3,"ZZZ" ))
Hilft Dir das weiter?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
SUGON
Beiträge: 2
Registriert: Sa, 10.02.2007 21:05

TRIM(), LEN() und REPLACE() mit FunctionAccess

Beitrag von SUGON »

Hallo Winfried,

vielen dank für deine Beispiele. Habs verstanden und es Hilft mir sehr weiter!

MfG

SUGON
Antworten