Die Funktionsnamen müssen ENGLISCH geschrieben werden, die Parameter als ARRAY() übergeben werden
Hilft Dir das weiter?
Objektvariable nicht belegt
Moderator: Moderatoren
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Objektvariable nicht belegt
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)
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)
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Objektvariable nicht belegt
Wäre mir neu, dass die Funktionsnamen lokalisiert wurden (3.0.1 hier).
Die Parameter einer Funktion als ARRAY, bspw. beim ERSETZEN(suchbegriff, ab, wieviel, ersatzbegriff) [4 Parameter]
Hilft das?
Die Parameter einer Funktion als ARRAY, bspw. beim ERSETZEN(suchbegriff, ab, wieviel, ersatzbegriff) [4 Parameter]
Code: Alles auswählen
aResult=FuncAcc.callFunction("REPLACE", Array( oCell.String , 1,3,"ZZZ" ))
Hilft das?
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)
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)
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Objektvariable nicht belegt
SEARCH braucht min. 2 Parameter, Dein zweiter ist ein Zellobjekt und nicht die zu durchsuchende Zeichenkette.
Was möchtest Du mit Deinem Code erreichen? Jeweils einen Teil aus drei Zellen entnehmen und zusammensetzen?
Was möchtest Du mit Deinem Code erreichen? Jeweils einen Teil aus drei Zellen entnehmen und zusammensetzen?
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)
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)
Re: Objektvariable nicht belegt
meist kommt es auf jedes Zeichen an...
=SEARCH("Autor:",AH4) klappt bei mir z.B. gar nicht in einer Zelle
=SUCHEN("Autor:";AH4) schon -
auch ist natürlich eine Funktion in eine Zelle nicht ganz das gleiche wie eine Funktion in einer Funktion in einem Makro aufzurufen, da
z.B. String-Delimiter mal automatisch eingefügt (eine Vereinfachung für den Benutzer sozusagen) aber in einem Programm nicht automatisch
verdoppelt werden können.
Zu beachten ist auch das wenn ich in eine Zelle 'was eintippe bewege ich mich in einem Worksheet - das gleiche in einem Makro ist da 'was anderes -
welche AH4 von welchem Sheet ist denn da z.B. gemeint? - die Makro-Ebene greift halt auf alle zu.

=SEARCH("Autor:",AH4) klappt bei mir z.B. gar nicht in einer Zelle
=SUCHEN("Autor:";AH4) schon -
auch ist natürlich eine Funktion in eine Zelle nicht ganz das gleiche wie eine Funktion in einer Funktion in einem Makro aufzurufen, da
z.B. String-Delimiter mal automatisch eingefügt (eine Vereinfachung für den Benutzer sozusagen) aber in einem Programm nicht automatisch
verdoppelt werden können.
Zu beachten ist auch das wenn ich in eine Zelle 'was eintippe bewege ich mich in einem Worksheet - das gleiche in einem Makro ist da 'was anderes -
welche AH4 von welchem Sheet ist denn da z.B. gemeint? - die Makro-Ebene greift halt auf alle zu.
thx!
OO3.1/MySql-Connector/Linux 2.6.30/SuSE/(nur bis)XP John.M
OO3.1/MySql-Connector/Linux 2.6.30/SuSE/(nur bis)XP John.M
Re: Objektvariable nicht belegt
Hallo
In folgender Form läuft deine Funktion:
der 2. Aufruf von SEARCH innerhalb der Funktion geht hier auch nicht, ich hab das durch die Laufzeitfunktion 'instr' ersetzt, dito MID -> mid.
(kleine Anmerkung: 'row' als Parameterbezeichner ist irreführend, 'sstring' oder 'Text' wäre besser.)
Gruß Karo
In folgender Form läuft deine Funktion:
Code: Alles auswählen
Function get_autor ( row as Variant ) As String
'Variablen deklarieren
Dim oFunktion as Object
Dim dTeil1 as Double
Dim dTeil2 as Double
oFunktion = createUnoService("com.sun.star.sheet.FunctionAccess")
Dim args1( 1 ) As Variant
args1(0) = "Autor: "
args1(1) = row
dteil1 = oFunktion.callFunction( "SEARCH", args1() )
dTeil1 = dTeil1 + len("Autor: ")
'runtime-function 'instr' statt Calcfunktion 'search'
dTeil2 = instr ( dteil1, row, "<" )
'runtime 'mid' statt MID aus Calc
get_autor = mid( row, dTeil1, dTeil2-dteil1 )
End Function
(kleine Anmerkung: 'row' als Parameterbezeichner ist irreführend, 'sstring' oder 'Text' wäre besser.)
Gruß Karo
Zuletzt geändert von Karolus am Di, 23.06.2009 12:50, insgesamt 1-mal geändert.
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)