Hallo ihr Wissenden,
ich bin gerade daran, ein Makro aus VBA in OO Basic zu überführen.
Es macht eigentlich nicht viel außer Dateien öffnen, einige Zeilen in eine neue Datei kopieren und diese dann unter neuem Namen abspeichern.
Auch wenn ich es noch nicht versucht habe, denke ich, dass ich das öffnen und speichern mit der spärlichen Literaturgrundlage hinbekomme.
Jedoch wird die Zellauswahl per Filter sowohl Autofilter als auch Spezialfilter getroffen.
Leider habe ich noch keine für mich verständliche Beispiele für
- den Autofilter
- und den Spezialfilter gefunden
und hoffe daher auf euch.
Kann mir jemand zwei kleine Beispiele geben
oder
mir einen Hinweis geben, in welchem Buch / Link ich sowas finden kann.
Achja auch wenn das UNO Modell sicher seine Vorteile hat, so wäre ich dankbar wenn es auch ohne ginge.
Ich bedanke mich schon mal im Voraus.
Dankender Gruß
Jens
CALC: Filter und Spezailfilter
Moderator: Moderatoren
-
- *****
- Beiträge: 319
- Registriert: Mi, 14.12.2005 08:08
- Wohnort: freising - oder dort, wo das bier herkommt
hallo jens,
hier gibt es basic-beispiele von rene martin, die auch einen autofilter verwenden und in seinem buch erschienen "Openoffice-Programierung" sind.
http://www.compurem.de/ooo/Buchbeispiele.zip
in der datei tabelle.sxc findest du im modul "Liste" folgendes beispiel:
grüße
klaus
hier gibt es basic-beispiele von rene martin, die auch einen autofilter verwenden und in seinem buch erschienen "Openoffice-Programierung" sind.
http://www.compurem.de/ooo/Buchbeispiele.zip
in der datei tabelle.sxc findest du im modul "Liste" folgendes beispiel:
Code: Alles auswählen
'erstellt von Rene Martin
Sub Filter
dim objDatei As object
dim objBlatt As Object
dim objQuellbereich As Object
dim objFilterbereich As Object
dim objZielbereich As Object
dim objFilter As Object
dim sF(0) as New com.sun.star.sheet.TableFilterField
objdatei = ThisComponent
objBlatt = objdatei.Sheets.getByName("IchBinDerNeue")
objQuellbereich = objblatt.getCellRangeByName("A1:C7")
objFilterbereich = objBlatt.getCellRangeByName("A18:A19")
objZielbereich = objBlatt.getCellRangeByName("A22")
objFilter = objBlatt.createFilterDescriptor(True)
sF(0).Field = 2
sF(0).IsNumeric = False
sF(0).Operator = com.sun.star.sheet.FilterOperator.EQUAL
sF(0).StringValue = "München"
With objFilter
.ContainsHeader = True
.UseRegularExpressions = False
.IsCaseSensitive = True
.FilterFields = objFilterbereich
.setFilterFields(sF())
.CopyOutputData = True
.SaveOutputPosition = False
.OutputPosition = objZielbereich.getRangeAddress()
End With
objQuellbereich.Filter(sF())
End Sub
klaus
-
- Beiträge: 9
- Registriert: Sa, 07.10.2006 13:31
Hallo Klaus,
vielen Dank für deine Antwort.
Leider funktioniert der Code bei mir nicht.
Habe auch die Beispieldatei aus dem Buch genommen, doch leider das gleiche Ergebnis.
OpenOffice schleißt mit einem unerwarteten Fehler und das wars.
Leider habe ich keine Ahnung woran das liegen könnte ??
Du / Ihr vielleicht ???
Vielen Dank und einen guten Rutsch ins neue Jahr.
Grüße
Jens
vielen Dank für deine Antwort.
Leider funktioniert der Code bei mir nicht.
Habe auch die Beispieldatei aus dem Buch genommen, doch leider das gleiche Ergebnis.
OpenOffice schleißt mit einem unerwarteten Fehler und das wars.
Leider habe ich keine Ahnung woran das liegen könnte ??
Du / Ihr vielleicht ???
Vielen Dank und einen guten Rutsch ins neue Jahr.
Grüße
Jens