Use a replacement of:
([0-9A-Z]{8})([0-9A-Z]{4})([0-9A-Z]{4})([0-9A-Z]{4})([0-9A-Z]{12})
with
\1-\2-\3-\4-\5
with the wildcard option set -
http://www.gmayor.com/replace_using_wildcards.htm
or by macro
Code:
Sub Macro1()
Dim oRng As Range
Set oRng = ActiveDocument.Range
With oRng.Find
Do While .Execute(FindText:="([0-9A-Z]{8})([0-9A-Z]{4})([0-9A-Z]{4})([0-9A-Z]{4})([0-9A-Z]{12})", _
MatchWildcards:=True, ReplaceWith:="\1-\2-\3-\4-\5")
oRng.Collapse 0
Loop
End With
End Sub