The reason nothing happens is simple: your first 'Find' expression simply configures Word to find the first instance of a space before an em-dash - but then does nothing. Your second 'Find' expression then tries to find a space after an em-dash in the same selection. There is also no need for the parentheses.
Try:
Code:
Sub Ems()
Application.ScreenUpdating = False
With ActiveDocument.Range.Find
.ClearFormatting
.Replacement.ClearFormatting
.Format = False
.Forward = True
.Wrap = wdFindContinue
.MatchWildcards = False
.Replacement.Text = "^+"
.Text = " ^+"
.Execute Replace:=wdReplaceAll
.Text = "^+ "
.Execute Replace:=wdReplaceAll
End With
Application.ScreenUpdating = True
End Sub