FIlter programmieren
Moderator: Moderatoren
Re: FIlter programmieren
Hallo
Es gibt -->Daten-->Filter....
Ebenso gibt es die Möglichkeit über '-->Extras-->Makros-->Makros aufzeichnen..'
verschiedene Aktionen aufzuzeichnen.
Schau mal wie weit du damit kommst, bei konkreten Detailfragen helfen wir gerne weiter, (je nach Fragestellung evtl. aber gleich ins Basic und Java Forum posten)
Gruß Karo
Es gibt -->Daten-->Filter....
Ebenso gibt es die Möglichkeit über '-->Extras-->Makros-->Makros aufzeichnen..'
verschiedene Aktionen aufzuzeichnen.
Schau mal wie weit du damit kommst, bei konkreten Detailfragen helfen wir gerne weiter, (je nach Fragestellung evtl. aber gleich ins Basic und Java Forum posten)
Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Re: FIlter programmieren
Hallo!
Ich habe mich mal diesem Thema zusammen mit einem Forumsteilnehmer angenommen.
Vielleicht ist etwas darunter, was du gebrauchen kannst.
viewtopic.php?f=2&t=22421
Gruß
Charly
Ich habe mich mal diesem Thema zusammen mit einem Forumsteilnehmer angenommen.
Vielleicht ist etwas darunter, was du gebrauchen kannst.
viewtopic.php?f=2&t=22421
Gruß
Charly
Re: FIlter programmieren
Hallo
Wir kommen wahrscheinlich schneller voran, wenn du mal die konkreten Filterkriterien beschreibst, und auch, welche Art von Daten in Spalte 3 vorkommen.
Gruß Karo
Wir kommen wahrscheinlich schneller voran, wenn du mal die konkreten Filterkriterien beschreibst, und auch, welche Art von Daten in Spalte 3 vorkommen.
Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Re: FIlter programmieren
Hallo
Schau doch mal ins Thema das Charlie bereits gepostet hat, viewtopic.php?f=2&t=22421
da stehen doch alle Infos die du benötigst.
Gruß Karo
Schau doch mal ins Thema das Charlie bereits gepostet hat, viewtopic.php?f=2&t=22421
da stehen doch alle Infos die du benötigst.
Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Re: FIlter programmieren
Hallo
Ich bin grad faul und hab deshalb nur Code aufgezeichnet, und zwar folgende Routine:
1 Selektion von C1:C2000
2 -->suchen und ersetzen ->suche nach: '^[0-9]{2,}|[4-9]$' , [x]nur in Selektion , [x]regulärer Ausdruck , "suche alle"
3 --Kontext-->Zeilen ausblenden
zur Übernahme siehe: hier, im Kapitel 'Quelltext übernehmen
und evtl. auch http://www.ooowiki.de/MakrosMitEinemKlick
Gruß Karo
Ich bin grad faul und hab deshalb nur Code aufgezeichnet, und zwar folgende Routine:
1 Selektion von C1:C2000
2 -->suchen und ersetzen ->suche nach: '^[0-9]{2,}|[4-9]$' , [x]nur in Selektion , [x]regulärer Ausdruck , "suche alle"
3 --Kontext-->Zeilen ausblenden
Code: Alles auswählen
sub suchen_und_ausblenden
dim document as object
dim dispatcher as object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ToPoint"
args2(0).Value = "C1:C2000"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args2())
dim args1(17) as new com.sun.star.beans.PropertyValue
args1(0).Name = "SearchItem.StyleFamily"
args1(0).Value = 2
args1(1).Name = "SearchItem.CellType"
args1(1).Value = 0
args1(2).Name = "SearchItem.RowDirection"
args1(2).Value = true
args1(3).Name = "SearchItem.AllTables"
args1(3).Value = false
args1(4).Name = "SearchItem.Backward"
args1(4).Value = false
args1(5).Name = "SearchItem.Pattern"
args1(5).Value = false
args1(6).Name = "SearchItem.Content"
args1(6).Value = false
args1(7).Name = "SearchItem.AsianOptions"
args1(7).Value = false
args1(8).Name = "SearchItem.AlgorithmType"
args1(8).Value = 1
args1(9).Name = "SearchItem.SearchFlags"
args1(9).Value = 71680
args1(10).Name = "SearchItem.SearchString"
args1(10).Value = "^[0-9]{2,}|[4-9]$"
args1(11).Name = "SearchItem.ReplaceString"
args1(11).Value = ""
args1(12).Name = "SearchItem.Locale"
args1(12).Value = 255
args1(13).Name = "SearchItem.ChangedChars"
args1(13).Value = 2
args1(14).Name = "SearchItem.DeletedChars"
args1(14).Value = 2
args1(15).Name = "SearchItem.InsertedChars"
args1(15).Value = 2
args1(16).Name = "SearchItem.TransliterateFlags"
args1(16).Value = 1280
args1(17).Name = "SearchItem.Command"
args1(17).Value = 1
dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args1())
dispatcher.executeDispatch(document, ".uno:HideRow", "", 0, Array())
end sub
und evtl. auch http://www.ooowiki.de/MakrosMitEinemKlick
Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
-
- **
- Beiträge: 23
- Registriert: Mo, 21.12.2009 13:04
Re: FIlter programmieren
soweit so gut
gibt es jetzt vielleicht noch einen trick, dass auch die Zeilen in denen in besagter spalte eine 0 oder nichts steht mit ausgeblendet wird ? is wahrscheinlich ne ziemlich doofe frage 
P.s, nicht die Zeilen mit 1 oder 2 oder 3 blieben stehen, sondern zbsp 10, 14, 19......


P.s, nicht die Zeilen mit 1 oder 2 oder 3 blieben stehen, sondern zbsp 10, 14, 19......
Re: FIlter programmieren
Also ich mag mich ja irren, aber wäre das trotz allem nicht viel einfacher mit einem Standardfilter zu lösen?
Spalte C <= 3
und
Spalte C > 0
Eventuell noch unter Zusätze die Ausgabe definieren, fertig.
Natürlich kannst Du das dann auch als Makro aufzeichnen.
Hylli
Spalte C <= 3
und
Spalte C > 0
Eventuell noch unter Zusätze die Ausgabe definieren, fertig.
Natürlich kannst Du das dann auch als Makro aufzeichnen.
Hylli
- Dateianhänge
-
- standardfilter.odt
- (58.09 KiB) 25-mal heruntergeladen
Zuletzt geändert von hylli am Di, 22.12.2009 09:32, insgesamt 1-mal geändert.
Ein Dankeschön für eine Lösung tut nicht weh!
Wer eine Lösung selbst findet, sollte die für die Nachwelt auch posten!
Geschäftlich: LibreOffice 6.0.x ("Still") unter Windows 10 64bit
Privat: LibreOffice 6.0.x ("Still") unter Linux Mint 19.x Cinnamon 64bit
Wer eine Lösung selbst findet, sollte die für die Nachwelt auch posten!
Geschäftlich: LibreOffice 6.0.x ("Still") unter Windows 10 64bit
Privat: LibreOffice 6.0.x ("Still") unter Linux Mint 19.x Cinnamon 64bit
-
- **
- Beiträge: 23
- Registriert: Mo, 21.12.2009 13:04
Re: FIlter programmieren
Das Problem ist ja, dass sich Filter mit dem Makros-recorder nicht aufzeichnen lassen. bzw, wenn man diese dann ausführt passiert nix ;(
Re: FIlter programmieren
Hm, ok stimmt.
Aber der Filter ist ja so einfach, dass man den recht schnell zusammengebastelt hat, gleich bei welcher Datei. Wenn's natürlich komplexer wäre, dann wäre wahrscheinlich die Makrolösung zu bevorzugen.
Hylli
Aber der Filter ist ja so einfach, dass man den recht schnell zusammengebastelt hat, gleich bei welcher Datei. Wenn's natürlich komplexer wäre, dann wäre wahrscheinlich die Makrolösung zu bevorzugen.
Hylli
Ein Dankeschön für eine Lösung tut nicht weh!
Wer eine Lösung selbst findet, sollte die für die Nachwelt auch posten!
Geschäftlich: LibreOffice 6.0.x ("Still") unter Windows 10 64bit
Privat: LibreOffice 6.0.x ("Still") unter Linux Mint 19.x Cinnamon 64bit
Wer eine Lösung selbst findet, sollte die für die Nachwelt auch posten!
Geschäftlich: LibreOffice 6.0.x ("Still") unter Windows 10 64bit
Privat: LibreOffice 6.0.x ("Still") unter Linux Mint 19.x Cinnamon 64bit
-
- **
- Beiträge: 23
- Registriert: Mo, 21.12.2009 13:04
Re: FIlter programmieren
args1(10).Value = "^[0-9]{2,}|[4-9]$"
könnte es sein ,dass in dieser Zeile etwas nicht stimmt ?
könnte es sein ,dass in dieser Zeile etwas nicht stimmt ?
Re: FIlter programmieren
Nein, denn grundsätzlich funktioniert die Vorgehensweise bei mir, auch wenn mir der Suchstring mal wieder wie ein böhmisches Dorf vorkommt.
Hylli
Hylli

Ein Dankeschön für eine Lösung tut nicht weh!
Wer eine Lösung selbst findet, sollte die für die Nachwelt auch posten!
Geschäftlich: LibreOffice 6.0.x ("Still") unter Windows 10 64bit
Privat: LibreOffice 6.0.x ("Still") unter Linux Mint 19.x Cinnamon 64bit
Wer eine Lösung selbst findet, sollte die für die Nachwelt auch posten!
Geschäftlich: LibreOffice 6.0.x ("Still") unter Windows 10 64bit
Privat: LibreOffice 6.0.x ("Still") unter Linux Mint 19.x Cinnamon 64bit
-
- **
- Beiträge: 23
- Registriert: Mo, 21.12.2009 13:04
Re: FIlter programmieren
mein Problem mit dem bisherigen code ist, dass
1. nicht nach den Kriterien 1, 2, 3 in Splate 3 gefiltert wird
2. Zeilen die in Spalte 3 leer sind angezeigt werden
Kann mir jemand helfen ?
danke
1. nicht nach den Kriterien 1, 2, 3 in Splate 3 gefiltert wird
2. Zeilen die in Spalte 3 leer sind angezeigt werden
Kann mir jemand helfen ?
danke
-
- **
- Beiträge: 23
- Registriert: Mo, 21.12.2009 13:04
Re: FIlter programmieren
okay, jetzt musas ich nur noch die Leerzeichen ausblenden, wie könnte das klappen ?
Mein bisheriger coed sieht so aus
Irgendwie müsste ich jetzt in dieser Zeile hinzufügen, dass auch leerzeichen betroffen sind
args1(10).Name = "SearchItem.SearchString"
args1(10).Value = "^[0-9]{2,}|[4-9]|^0|0$|"
wie lautet dafür der code ?
Mein bisheriger coed sieht so aus
Code: Alles auswählen
sub suchen_und_ausblenden
dim document as object
dim dispatcher as object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ToPoint"
args2(0).Value = "F1:F10000"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args2())
dim args1(17) as new com.sun.star.beans.PropertyValue
args1(0).Name = "SearchItem.StyleFamily"
args1(0).Value = 2
args1(1).Name = "SearchItem.CellType"
args1(1).Value = 0
args1(2).Name = "SearchItem.RowDirection"
args1(2).Value = true
args1(3).Name = "SearchItem.AllTables"
args1(3).Value = false
args1(4).Name = "SearchItem.Backward"
args1(4).Value = false
args1(5).Name = "SearchItem.Pattern"
args1(5).Value = false
args1(6).Name = "SearchItem.Content"
args1(6).Value = false
args1(7).Name = "SearchItem.AsianOptions"
args1(7).Value = false
args1(8).Name = "SearchItem.AlgorithmType"
args1(8).Value = 1
args1(9).Name = "SearchItem.SearchFlags"
args1(9).Value = 71680
args1(10).Name = "SearchItem.SearchString"
args1(10).Value = "^[0-9]{2,}|[4-9]|^0|0$|"
args1(11).Name = "SearchItem.ReplaceString"
args1(11).Value = ""
args1(12).Name = "SearchItem.Locale"
args1(12).Value = 255
args1(13).Name = "SearchItem.ChangedChars"
args1(13).Value = 2
args1(14).Name = "SearchItem.DeletedChars"
args1(14).Value = 2
args1(15).Name = "SearchItem.InsertedChars"
args1(15).Value = 2
args1(16).Name = "SearchItem.TransliterateFlags"
args1(16).Value = 1280
args1(17).Name = "SearchItem.Command"
args1(17).Value = 1
dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args1())
dispatcher.executeDispatch(document, ".uno:HideRow", "", 0, Array())
End Sub
Irgendwie müsste ich jetzt in dieser Zeile hinzufügen, dass auch leerzeichen betroffen sind
args1(10).Name = "SearchItem.SearchString"
args1(10).Value = "^[0-9]{2,}|[4-9]|^0|0$|"
wie lautet dafür der code ?
Re: FIlter programmieren
Hallo
es gibt keinen funktionierenden Suchausdruck für leere Zellen, aber ich hab etwas anders dafür gefunden - probiere mal den Code unten.
Gruß Karo
es gibt keinen funktionierenden Suchausdruck für leere Zellen, aber ich hab etwas anders dafür gefunden - probiere mal den Code unten.
Code: Alles auswählen
sub suchen_ausblenden
dim ocontroller as object
ocontroller = ThisComponent.CurrentController
with createUnoService("com.sun.star.frame.DispatchHelper")
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ToPoint"
args2(0).Value = "C1:C2000"
.executeDispatch(ocontroller, ".uno:GoToCell", "", 0, args2())
oController.select(oController.Selection.queryEmptyCells)
.executeDispatch(oController, ".uno:HideRow", "", 0, Array())
.executeDispatch(oController, ".uno:GoToCell", "", 0, args2())
dim args1(17) as new com.sun.star.beans.PropertyValue
args1(0).Name = "SearchItem.StyleFamily"
args1(0).Value = 2
args1(1).Name = "SearchItem.CellType"
args1(1).Value = 0
args1(2).Name = "SearchItem.RowDirection"
args1(2).Value = true
args1(3).Name = "SearchItem.AllTables"
args1(3).Value = false
args1(4).Name = "SearchItem.Backward"
args1(4).Value = false
args1(5).Name = "SearchItem.Pattern"
args1(5).Value = false
args1(6).Name = "SearchItem.Content"
args1(6).Value = false
args1(7).Name = "SearchItem.AsianOptions"
args1(7).Value = false
args1(8).Name = "SearchItem.AlgorithmType"
args1(8).Value = 1
args1(9).Name = "SearchItem.SearchFlags"
args1(9).Value = 71680
args1(10).Name = "SearchItem.SearchString"
args1(10).Value = "^[0-9]{2,}|[4-9]" 'geändert
args1(11).Name = "SearchItem.ReplaceString"
args1(11).Value = ""
args1(12).Name = "SearchItem.Locale"
args1(12).Value = 255
args1(13).Name = "SearchItem.ChangedChars"
args1(13).Value = 2
args1(14).Name = "SearchItem.DeletedChars"
args1(14).Value = 2
args1(15).Name = "SearchItem.InsertedChars"
args1(15).Value = 2
args1(16).Name = "SearchItem.TransliterateFlags"
args1(16).Value = 1280
args1(17).Name = "SearchItem.Command"
args1(17).Value = 1
.executeDispatch(oController, ".uno:ExecuteSearch", "", 0, args1())
.executeDispatch(oController, ".uno:HideRow", "", 0, Array())
end with
end sub
Zuletzt geändert von Karolus am Di, 22.12.2009 12:20, insgesamt 1-mal geändert.
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
-
- **
- Beiträge: 23
- Registriert: Mo, 21.12.2009 13:04
Re: FIlter programmieren
Vielen dank
!!!! funktioniert super,
eine(hoffentlich) letzte frage hätt ich noch , wie bekomme ich zeilen mit negativen werten in der Spalte raus ?, danke

eine(hoffentlich) letzte frage hätt ich noch , wie bekomme ich zeilen mit negativen werten in der Spalte raus ?, danke