von serr03 » Mo, 02.04.2018 19:32
benutze Apache OpenOffice 4.1.5
Hallo,
bei der Search Methode solle Ergebnisse kopiert werden.
dieses geht gut, solange der Begriff nicht direkt hintereinander in der nächsten Zeile steht.
Der Supportsservice("com.sun.star.table.Cell") ist dann scheinbar fehlerhaft???
Wird zwischen den beiden Zeilen eine Leerzeile eingefügt, werden diese wieder korrekt kopiert.
Code: Alles auswählen
sub Searchxx
sCol = 0
oSuche = "Begriff"
sSpalte = oSheet.getColumns.getByIndex(sCol)
oSearch = sSpalte.createSearchDescriptor 'Zeile die durchsucht werden soll
oSearch.SearchString = oSuche 'Begriff nach dem gesucht wird
oSearch.SearchRegularExpression = False
oResult = sSpalte.findAll(oSearch)
'nächsten Begriff suchen, falls öfters vorkommt.
For n = 0 To oResult.Count - 1
oFound = oResult(n) <--- z.b. n=11 aber bei n=5 und 6 wird nicht kopiert aus obigen Grund
If oFound.supportsservice("com.sun.star.table.Cell") Then
frow =oFound.Celladdress.row
'copy
sRange = oSheet.getCellRangeByPosition(0,frow,9,frow).getRangeAddress()
zRange = zSheet.getCellByPosition(Ca,Ra+n).getCellAddress
zSheet.copyRange(zRange, sRange)
End If
Next n
end sub
vielen Dank fall jemand einen Tip hat.
_________________
Moderationshinweis
Zur übersichtlichen Darstellung des Textes und vom Programmcode im Text [code][/code] Tags gesetzt.
lorbass, Moderator
benutze Apache OpenOffice 4.1.5
Hallo,
bei der Search Methode solle Ergebnisse kopiert werden.
dieses geht gut, solange der Begriff nicht direkt hintereinander in der nächsten Zeile steht.
Der Supportsservice("com.sun.star.table.Cell") ist dann scheinbar fehlerhaft???
Wird zwischen den beiden Zeilen eine Leerzeile eingefügt, werden diese wieder korrekt kopiert.
[code]sub Searchxx
sCol = 0
oSuche = "Begriff"
sSpalte = oSheet.getColumns.getByIndex(sCol)
oSearch = sSpalte.createSearchDescriptor 'Zeile die durchsucht werden soll
oSearch.SearchString = oSuche 'Begriff nach dem gesucht wird
oSearch.SearchRegularExpression = False
oResult = sSpalte.findAll(oSearch)
'nächsten Begriff suchen, falls öfters vorkommt.
For n = 0 To oResult.Count - 1
oFound = oResult(n) <--- z.b. n=11 aber bei n=5 und 6 wird nicht kopiert aus obigen Grund
If oFound.supportsservice("com.sun.star.table.Cell") Then
frow =oFound.Celladdress.row
'copy
sRange = oSheet.getCellRangeByPosition(0,frow,9,frow).getRangeAddress()
zRange = zSheet.getCellByPosition(Ca,Ra+n).getCellAddress
zSheet.copyRange(zRange, sRange)
End If
Next n
end sub[/code]
vielen Dank fall jemand einen Tip hat.
[color=#00AA00]_________________
[b]Moderationshinweis[/b]
Zur übersichtlichen Darstellung des Textes und vom Programmcode im Text [code][/code] Tags gesetzt.
lorbass, Moderator[/color]