von Devil » Mi, 12.08.2015 13:05
Ich durchlaufe folgenden Code mehrmals um ca 400 verschiedene Variablen in einem Calc Dokument zu suchen und zu ersetzen. Dies dauert allerdings sehr lange (ca 13 sec.). Im Writer bin ich das Problem umgangen, indem ich Benutzerfelder verwendet habe. Diese scheint es im Calc jedoch scheinbar nicht zu geben, weshalb ich auf "Textvariablen" zurückgreife. Gibt es da eine schnellere Methode oder etwas ähnliches wie Benutzerfelder?
Hier der Suchen und Ersetzencode:
Code: Alles auswählen
Sub Suchen_Ersetzen(zeile as String)
Doc = ThisComponent
aZeile = SPLIT(zeile, "=") 'Zeile aus Konfig Splitten
var = aZeile(0)
txt = aZeile(1)
Sheet = ThisComponent.Sheets(0)
Repl = Sheet.createReplaceDescriptor()
Repl.setSearchString("<</"+var+"/>>")
Repl.setReplaceString(txt)
Repl.SearchWords = False
Repl.SearchCaseSensitive = False
Repl.SearchRegularExpression = True
Sheet.replaceAll( Repl)
End Sub
Ich durchlaufe folgenden Code mehrmals um ca 400 verschiedene Variablen in einem Calc Dokument zu suchen und zu ersetzen. Dies dauert allerdings sehr lange (ca 13 sec.). Im Writer bin ich das Problem umgangen, indem ich Benutzerfelder verwendet habe. Diese scheint es im Calc jedoch scheinbar nicht zu geben, weshalb ich auf "Textvariablen" zurückgreife. Gibt es da eine schnellere Methode oder etwas ähnliches wie Benutzerfelder?
Hier der Suchen und Ersetzencode:
[code]Sub Suchen_Ersetzen(zeile as String)
Doc = ThisComponent
aZeile = SPLIT(zeile, "=") 'Zeile aus Konfig Splitten
var = aZeile(0)
txt = aZeile(1)
Sheet = ThisComponent.Sheets(0)
Repl = Sheet.createReplaceDescriptor()
Repl.setSearchString("<</"+var+"/>>")
Repl.setReplaceString(txt)
Repl.SearchWords = False
Repl.SearchCaseSensitive = False
Repl.SearchRegularExpression = True
Sheet.replaceAll( Repl)
End Sub
[/code]