Formatierte Suche in Calc

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Formatierte Suche in Calc

Re: Formatierte Suche in Calc

von Hiker » Do, 30.04.2020 22:37

Hallo,

helfen kann ich Dir nicht, aber
für mich klingt Style hier falsch und nach
http://www.openoffice.org/api/docs/comm ... iptor.html
kann man mit .searchstyles nach der Benutzung eines Formats wie Bild oder Überschrift1 suchen.

Bei Dir kommt dazu, dass in der Zelle ja eine Zahl steht, Januar aber nur in der formatierten Textdarstellung vorkommt.
Eigentlich würde man nach >=1.1.20 und <=31.1.20 suchen.

Mfg, Jörn

Formatierte Suche in Calc

von womolbo » Do, 30.04.2020 14:31

Hallo Fachleute,
ich komme einfach nicht drauf wo der 'Fehler' im folgenden Code ist :-x.
Ziel ist die Suche nach einem String der nur in der formatierten Anzeige der Zelle zu finden ist.
Ich gehe davon aus dass dafür die Eigenschaft .SearchStyles zuständig sein sollte.

In der Zelle steht z.Bsp. "01.01.2020", das Anzeigeformat ist MMMM JJJJ, also "Januar 2020"
und ich möchte nach "Januar" suchen.

Code: Alles auswählen

Sub FormatierteSuche()
oSheet=ThisComponent.Sheets().GetByName("Kalender")
'oSheet = ThisComponent.CurrentController.getActiveSheet()
oSearchDescriptor=oSheet.createSearchDescriptor

oSearchDescriptor.SearchType=0
oSearchDescriptor.SearchStyles=true			'Ich nahm an dies ist das entscheidende Flag
'oSearchDescriptor.SearchString = "01.01.2020"		'Tut [mit SearchStyles=false, unabhängig vom SearchType]
oSearchDescriptor.SearchString = "Januar"		'Tut bisher nicht
oFound = oSheet.FindFirst(oSearchDescriptor)

Print isNull(oFound)
End Sub
In der manuellen Suche gelingt das einwandfrei und mit darauf basierendem Dispatchercode auch.
Aber dieser Basic/UNO-Code findet die Zelle nicht und ich komme einfach nicht drauf woran es liegt.

Kontext: LibreOffice Portable [Version: 6.3.5.2 (x86)], Win7 und miese Laune weil ich es nicht zum Laufen bringe

Kann jemand helfen? Ich würde mich freuen.

Vielen Dank und gute Zeit
Gruß V

Nach oben