Seite 1 von 1

Re: Unicode ersetzen in cells

Verfasst: So, 29.08.2010 08:11
von komma4
Abgesehen davon, dass Du:
  • in der Schleife den falschen Index hast,
    beim .replaceAll den Tippfehler oDoc anselle oDok ,
    und neue Variablennamen für die zwei Arrays verwendest 8)
funktioniert Dein Code ohne Weiteres in einem Writer-Dokument.
Bei einem Calc-Dokument kommt die besagte Fehlermeldung, da dort der Descriptor auf ein Blatt (Sheet) bezogen werden muss.



Was meinst Du also mit cells?

Re: Unicode ersetzen in cells

Verfasst: So, 29.08.2010 08:13
von turtle47
Hi,
kevinxu_unregisted hat geschrieben:oErsetzBeschr = oDok.createReplaceDescriptor() 'dieser Satz laeuft nicht,es meldet :Eigenschaft oder Methode nicht gefunden.
Wenn Du in einem Calc-Doc arbeitest dann musst Du in dem Sheet suchen!

Hier mal ein funktionierender Code:

Code: Alles auswählen

Sub Main
	odoc = thiscomponent
	oSheet = oDoc.Sheets.getbyName("Tabelle1") 'Tabellenname anpassen!!
	oErsetzBeschr = oSheet.createSearchDescriptor

	With oErsetzBeschr
		.SearchRegularExpression = FALSE
		.SearchCaseSensitive = FALSE
	end with

	hexarr=Array("C4" ,"D6" ,"DC" ,"DF" ,"E4" ,"F6" ,"FC" ,_
	"A1" ,"BF" ,"E1" ,"E9" ,"ED" ,"F3" ,"FA" ,"F1" ,"D1" ,_
	"E0" ,"E2" ,"E7" ,"F4" ,"E9" ,"E8" ,"EA" ,"EB" ,"EE" ,"FB" ,"F9" ,"BD")

	accarr=Array("Ä","Ö","Ü","ß","ä","ö","ü",_
	"¡","¿",",á","é","í","ó","ú","ñ","Ñ",_
	"à","â","ç","ô","é","è","ê","ë","î","û","ù","œ")

	For n = lbound(hexarr()) To ubound(hexarr())
		oErsetzBeschr.SearchString = hexarr(n)
		oErsetzBeschr.ReplaceString = accarr(n)
		oSheet.replaceAll(oErsetzBeschr)
	Next n

End Sub
Viel Erfolg

Jürgen