![]() |
#4
|
||||
|
||||
![]()
This is tricky because you don't want to replace every space in the code, just the ones between the double quotes. This code should get you started but it will need some checks in there to not destroy other fields.
Code:
Sub ReplaceUM() Dim aFld As Field, sCode As String, sFind As String, sRep As String Dim sInner As String, i As Integer, i1 As Integer, i2 As Integer Dim sPre As String, sPost As String sFind = "äöü " sRep = "aou_" For Each aFld In ActiveDocument.Fields sCode = aFld.Code.Text i1 = InStr(sCode, """") sInner = Mid(sCode, i1 + 1) i2 = InStr(sInner, """") sInner = Mid(sInner, 1, i2 - 1) sPre = Left(sCode, i1) sPost = Mid(sCode, i1 + i2) Debug.Print sCode, sInner, sPre, sPost For i = 1 To Len(sFind) sInner = Replace(sInner, Mid(sFind, i, 1), Mid(sRep, i, 1)) Next i aFld.Code.Text = sPre & sInner & sPost Next aFld End Sub
__________________
Andrew Lockton Chrysalis Design, Melbourne Australia |
|