von F3K Total » Mi, 18.01.2023 17:15
oh manno,
habe übersehen dass wir hier bei OpenOffice sind.
Ich habe das mit LibreOffice gemacht.
Versuch mal die angehängte Datei.
Da gibt es eine Zahl, die drei in dem Makro muss für OpenOffice auf eins (1) geändert werden:
Code: Alles auswählen
sub Sort_by_descriptor(oSheet)
dim nColumn as integer
dim osfs(0) as object
DIM osf1 as new com.sun.star.util.SortField
oSortRange = oSheet.getcellrangebyName("C2:D5")
for j = 0 to 3
oNameCell = oSortRange.getcellbyposition(0,j)
if oNameCell.String = "" then
bfound = true
exit for
endif
next j
if bfound = true then
oSortRange = oSortRange.GetCellrangebyPosition(0,0,1,j-1)
endif
nColumn = 1 '<<<--------------------------------------libreoffice geht auch mit :3
osf1.field = nColumn
osf1.SortAscending = false
osfs(0) = osf1
oSortDescriptor = oSortRange.createSortDescriptor
for i = 0 to uBound(oSortDescriptor)
oProp = oSortDescriptor(i)
with oProp
if .Name = "ContainsHeader" then
.Value = false
oSortDescriptor(i) = oProp
endif
if .Name = "SortFields" Then
.Value = osfs
oSortDescriptor(i) = oProp
endif
end with
next i
oSortRange.sort(oSortDescriptor)
end sub
Gruß R
- Dateianhänge
-
- GupyPally.ods
- (62.81 KiB) 65-mal heruntergeladen
oh manno,
habe übersehen dass wir hier bei OpenOffice sind.
Ich habe das mit LibreOffice gemacht.
Versuch mal die angehängte Datei.
Da gibt es eine Zahl, die drei in dem Makro muss für OpenOffice auf eins (1) geändert werden:
[code]sub Sort_by_descriptor(oSheet)
dim nColumn as integer
dim osfs(0) as object
DIM osf1 as new com.sun.star.util.SortField
oSortRange = oSheet.getcellrangebyName("C2:D5")
for j = 0 to 3
oNameCell = oSortRange.getcellbyposition(0,j)
if oNameCell.String = "" then
bfound = true
exit for
endif
next j
if bfound = true then
oSortRange = oSortRange.GetCellrangebyPosition(0,0,1,j-1)
endif
nColumn = 1 '<<<--------------------------------------libreoffice geht auch mit :3
osf1.field = nColumn
osf1.SortAscending = false
osfs(0) = osf1
oSortDescriptor = oSortRange.createSortDescriptor
for i = 0 to uBound(oSortDescriptor)
oProp = oSortDescriptor(i)
with oProp
if .Name = "ContainsHeader" then
.Value = false
oSortDescriptor(i) = oProp
endif
if .Name = "SortFields" Then
.Value = osfs
oSortDescriptor(i) = oProp
endif
end with
next i
oSortRange.sort(oSortDescriptor)
end sub[/code]
Gruß R