Suchen- und Ersetzen-Makro arbeitet falsch

08/12/2008 - 22:44 von Ernst Tremel | Report spam
Hallo,

ich habe folgendes Makro
-
Sub TestKurdishCyrillicToBedirxani()

Dim x As Byte
Dim s(4) As Long
Dim t(4) As String

s(1) = &H410: t(1) = &H41
s(2) = &H430: t(2) = &H61
s(3) = &H411: t(3) = &H42
s(4) = &H431: t(4) = &H62

For x = 1 To 4
With Selection.Find
.ClearFormatting
.Text = ChrW$(s(x))
.Replacement.ClearFormatting
.Replacement.Text = ChrW$(t(x))
.Execute Replace:=wdReplaceAll, Forward:=True, _
Wrap:=wdFindContinue
End With
Next x

End Sub
-
Wenn ich z.B. die kyrillischen Buchstaben groß-A, klein-a, groß-B, klein-b
in ein Word.Doc eingebe
und durch dieses Makro ersetzen lasse, so erhalte ich immer
nur die lateinischen Buchstaben groß-A, groß-A, groß-B, groß-B.
Obwohl doch die Zuordnungen s() zu t() eindeutig sind.

Ich komme nicht dahinter, woran das liegt.

Gruß
Ernst
 

Lesen sie die antworten

#1 Ernst Tremel
08/12/2008 - 23:46 | Warnen spam
Hallo,

inzwischen habe ich den Grund dafür, dass ich immer nur die lateinischen
Buchstaben groß-A, groß-A, groß-B, groß-B erhalten hatte, gefunden:

".MatchCase = True" fehlte


For x = 1 To 4
With Selection.Find
.ClearFormatting



.MatchCase = True

.Text = ChrW$(s(x))
.Replacement.ClearFormatting
.Replacement.Text = ChrW$(t(x))
.Execute Replace:=wdReplaceAll, Forward:=True, _
Wrap:=wdFindContinue
End With
Next x

End Sub

Ähnliche fragen