polnische Sonderzeichen
Verfasst: Sa, 07.07.2012 17:53
Hallo,
zunächst mal: ich bin absolute beginner.
Ich muss polnischen Text (jeweils 2-3 Wörter) in URLs umwandeln. Da URLs keine Sonderzeichen mögen, das Polnische aber geradezu davon wimmelt, möchte ich dieses Ersetzen automatisieren. Versucht habe ich es mit folgendem Makro:
----------------------------------------------------------------
'Attribute VB_Name = "modUmlauteErsetzen"
Sub polnischeSonderzeichen()
'Erweitern Sie das folgende Array, wenn
'weitere Buchstaben ersetzt werden sollen
Dim sSuchtext(18) As String
Dim sErsetzen(18) As String
'
sSuchtext(1) = "Ą"
sErsetzen(1) = "A"
sSuchtext(2) = "ą"
sErsetzen(2) = "a"
sSuchtext(3) = "Ć"
sErsetzen(3) = "C"
sSuchtext(4) = "ć"
sErsetzen(4) = "c"
sSuchtext(5) = "Ę"
sErsetzen(5) = "E"
sSuchtext(6) = "ę"
sErsetzen(6) = "e"
sSuchtext(7) = "Ł"
sErsetzen(7) = "L"
sSuchtext(8) = "ł"
sErsetzen(8) = "l"
sSuchtext(9) = "Ń"
sErsetzen(9) = "N"
sSuchtext(10) = "ń"
sErsetzen(10) = "n"
sSuchtext(11) = "Ó"
sErsetzen(11) = "O"
sSuchtext(12) = "ó"
sErsetzen(12) = "o"
sSuchtext(13) = "Ś"
sErsetzen(13) = "S"
sSuchtext(14) = "ś"
sErsetzen(14) = "s"
sSuchtext(15) = "Ź"
sErsetzen(15) = "Z"
sSuchtext(16) = "ź"
sErsetzen(16) = "z"
sSuchtext(17) = "Ż"
sErsetzen(17) = "Z"
sSuchtext(18) = "ż"
sErsetzen(18) = "z"
'
For i = 1 To 18
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
'
With Selection.Find
.Text = sSuchtext(i)
.Replacement.Text = sErsetzen(i)
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = True
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
'
Selection.Find.Execute Replace:=wdReplaceAll
Next i
End Sub
------------------------------------------------------------------
Leider erscheint immer folgende Fehlermeldung: BASIC-Laufzeitfehler. Ojektvariable nicht belegt. Es bezieht sich auf die Zeile
Selection.Find.Clear.Formatting
Wenn ich diese Zeile auskommentiere, erscheint die selbe Fehlermeldung, die sich dann auf die nächste Zeile
Selection.Find.Replacement.Clear.Formatting
bezieht.
Vielelicht ist meine Herangehensweise total daneben und naiv? Kann mir jemand helfen?
Vielen Dank und schöne Grüße
SoHo22
zunächst mal: ich bin absolute beginner.
Ich muss polnischen Text (jeweils 2-3 Wörter) in URLs umwandeln. Da URLs keine Sonderzeichen mögen, das Polnische aber geradezu davon wimmelt, möchte ich dieses Ersetzen automatisieren. Versucht habe ich es mit folgendem Makro:
----------------------------------------------------------------
'Attribute VB_Name = "modUmlauteErsetzen"
Sub polnischeSonderzeichen()
'Erweitern Sie das folgende Array, wenn
'weitere Buchstaben ersetzt werden sollen
Dim sSuchtext(18) As String
Dim sErsetzen(18) As String
'
sSuchtext(1) = "Ą"
sErsetzen(1) = "A"
sSuchtext(2) = "ą"
sErsetzen(2) = "a"
sSuchtext(3) = "Ć"
sErsetzen(3) = "C"
sSuchtext(4) = "ć"
sErsetzen(4) = "c"
sSuchtext(5) = "Ę"
sErsetzen(5) = "E"
sSuchtext(6) = "ę"
sErsetzen(6) = "e"
sSuchtext(7) = "Ł"
sErsetzen(7) = "L"
sSuchtext(8) = "ł"
sErsetzen(8) = "l"
sSuchtext(9) = "Ń"
sErsetzen(9) = "N"
sSuchtext(10) = "ń"
sErsetzen(10) = "n"
sSuchtext(11) = "Ó"
sErsetzen(11) = "O"
sSuchtext(12) = "ó"
sErsetzen(12) = "o"
sSuchtext(13) = "Ś"
sErsetzen(13) = "S"
sSuchtext(14) = "ś"
sErsetzen(14) = "s"
sSuchtext(15) = "Ź"
sErsetzen(15) = "Z"
sSuchtext(16) = "ź"
sErsetzen(16) = "z"
sSuchtext(17) = "Ż"
sErsetzen(17) = "Z"
sSuchtext(18) = "ż"
sErsetzen(18) = "z"
'
For i = 1 To 18
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
'
With Selection.Find
.Text = sSuchtext(i)
.Replacement.Text = sErsetzen(i)
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = True
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
'
Selection.Find.Execute Replace:=wdReplaceAll
Next i
End Sub
------------------------------------------------------------------
Leider erscheint immer folgende Fehlermeldung: BASIC-Laufzeitfehler. Ojektvariable nicht belegt. Es bezieht sich auf die Zeile
Selection.Find.Clear.Formatting
Wenn ich diese Zeile auskommentiere, erscheint die selbe Fehlermeldung, die sich dann auf die nächste Zeile
Selection.Find.Replacement.Clear.Formatting
bezieht.
Vielelicht ist meine Herangehensweise total daneben und naiv? Kann mir jemand helfen?
Vielen Dank und schöne Grüße
SoHo22