Problem bei: "Mehrere Zeichen gleichzeitig suchen und ersetzen"

05/11/2008 - 18:08 von marc-kramer | Report spam
Hallo,

ich habe vor kurzem hier eine Frage gestellt, wie ich per Makro
mehrere Sonderzeichen gleichzeitig suchen und ersetzen kann...
Das Makro funktioniert soweit. Allerdings habe ich das Problem, dass
der VBA-Editor viele der sprachenspezifischen Sonderzeichen nicht
erkennt, und sie dann als solche nicht darstellt. Er wandelt sie dann
in normale Buchstaben um, was den Sinn des Makros natürlich stark
verzerrt...

Weiß jemand, wie ich den Editor so anpassen kann, dass er alle
Sonderzeichen aus den verschiedensten Sprachen erkennt, und auch
darstellt, so dass danach gesucht werden kann?

Hier ein paar Beispiele:

f = funcSuchenErsetzen ("Ç", "Ē")
f = funcSuchenErsetzen ("ç", "ē")
f = funcSuchenErsetzen ("Ì", "Ģ")
f = funcSuchenErsetzen ("ì", "ģ")
f = funcSuchenErsetzen ("Î", "Ī")
f = funcSuchenErsetzen ("î", "ī")
f = funcSuchenErsetzen ("Í", "Ķ")
f = funcSuchenErsetzen ("í", "ķ")
f = funcSuchenErsetzen ("Ï", "Ļ")
f = funcSuchenErsetzen ("ï", "ļ")
f = funcSuchenErsetzen ("Ò", "Ņ")
f = funcSuchenErsetzen ("ò", "ņ")
f = funcSuchenErsetzen ("Ô", "Ō")

Über eine Antwort wàre ich sehr dankbar...

Gruß
 

Lesen sie die antworten

#1 Helmut Weber
05/11/2008 - 18:54 | Warnen spam
Hallo Marc,

der Editor kann die Sonderzeichen nicht darstellen.
Du musst die Zeichennummer verwenden, etwa so:

Sub SuchenUndErsetzen(sTmp1 As String, sTmp2 As String)
Dim rTmp As Range
Set rTmp = ActiveDocument.Range
With rTmp.Find
.Text = sTmp1
.MatchWildcards = True
.Replacement.Text = sTmp2
.Execute Replace:=wdReplaceAll
End With
ActiveDocument.Range(0, 0).Select
End Sub

Sub Testxxx1()
SuchenUndErsetzen ChrW(8841), ChrW(65)
End Sub



Gruß

Helmut Weber, MVP WordVBA

Vista Small Business, Office XP

Ähnliche fragen