Štandardne je nastavené, že počas písania sa majú normálne medzery nahradiť pevnými. Toto nastavenie skontrolujete cez Tlačidlo Office > Možnosti programu Word > Kontrola pravopisu a gramatiky > Možnosti automatických opráv a záložka Automatický formát počas písania . Nastavenie ale nefunguje keď text skopírujete do Wordu.

Druhá možnosť je použiť rozšírené možnosti Hľadať / Nahradiť a postupne všetky nahradíte v celom dokumente. Dôležité je zakliknúť možnosť Rozlišovať predponu . Inak by hľadanie a nahradzovanie menilo aj písmená, ktoré sú na konci slov. Do časti hľadať treba dopísať aj tú medzeru, aby bolo jednoznačne určené čo sa má hľadať a nahradzovať.

Posledná možnosť je vytvoriť makro, ktoré urobí takúto zmenu v celkom texte naraz jedným kliknutím. Kód makra je uvedený nižšie a stačí ho skopírovať do nového modulu v editore VBA. Ten zobrazíte napr. klávesovou skratkou Alt + F11, alebo tlačidlom Visual Basic na záložke Vývojár. Pevná medzera je v kóde označená špeciálnym znakom takto "a^s". Toto treba zadať aj do okna nahradiť pri použití druhej možnosti. Ak makro uložíte napr. do globálnej šablóny normal.dotm tak budete mať túto funkciu dostupnú v každom dokumente.
Text vložený bez pevných medzier (vľavo) a po nahradení pevnými medzerami (vpravo).

Kód môže byť aj takýto:
Sub nahrad_medzery()
' Makro vytvoril Peter Belko
'
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = " a "
.Replacement.Text = " a^s"
.Forward = True
.Wrap = wdFindContinue
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = " i "
.Replacement.Text = " i^s"
.Forward = True
.Wrap = wdFindContinue
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = " k "
.Replacement.Text = " k^s"
.Forward = True
.Wrap = wdFindContinue
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = " o "
.Replacement.Text = " o^s"
.Forward = True
.Wrap = wdFindContinue
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = " s "
.Replacement.Text = " s^s"
.Forward = True
.Wrap = wdFindContinue
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = " u "
.Replacement.Text = " u^s"
.Forward = True
.Wrap = wdFindContinue
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = " v "
.Replacement.Text = " v^s"
.Forward = True
.Wrap = wdFindContinue
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = " z "
.Replacement.Text = " z^s"
.Forward = True
.Wrap = wdFindContinue
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
V prípade, že neviete ako makro skopírovať pošlem Vám šablónu aj s makrom, ktoré si skopírujete do požadovaného dokumentu, alebo text skopírujete do šablóny, urobíte nahradenie a následne upravený text skopírujete do cieľového dokumentu. :-)
Aktualizované 20.10.09: vo VBA kóde chýbali po kopírovaní do článku medzery pred predložkami v častiach .Text = " a " . Replacement.Text = " a^s" . Platí to pre všetky predložky v kóde.