To get rid of the extra spaces, you can do a find/replace and type two spaces into the find box and one space into the replace box. Then just run that over and over until it no longer finds anything. However, if you have any intentional groupings of two or more spaces, this will also convert them to just a single space. But, typically two spaces are not needed even between sentences, unless you're using a mono-spaced font (see this question).
Side note: When I'm copying and pasting things into Word (e.g. from web pages or pdf documents), I've found that I can avoid some of the formatting wierdness by making sure that I'm just copying and pasting the plain text in without any formatting info from the source. I used to do this by first pasting it into a blank Notepad document, then recopying from notepad into Word. In Word 2010, you can skip that step by right clicking and using the "keep text only" option under the Paste Options. This might not help in your case though since there seem to be actual extra characters in the source you're copying from.
Edit:
I noticed that you mentioned the possibility of using a macro and wrote one up. Here's the VBA code:
Sub FixParagraph()
'
' FixParagraph Macro
'
'
Dim selectedText As String
Dim textLength As Integer
selectedText = Selection.Text
' If no text is selected, this prevents this subroutine from typing another
' copy of the character following the cursor into the document
If Len(selectedText) <= 1 Then
Exit Sub
End If
' Replace all carriage returns and line feeds in the selected text with spaces
selectedText = Replace(selectedText, vbCr, " ")
selectedText = Replace(selectedText, vbLf, " ")
' Get rid of repeated spaces
Do
textLength = Len(selectedText)
selectedText = Replace(selectedText, " ", " ")
Loop While textLength <> Len(selectedText)
' Replace the selected text in the document with the modified text
Selection.TypeText (selectedText)
End Sub
This macro replaces all carriage returns and newlines in the selected text with spaces, then gets rid of repeated spaces. So, you just highlight the text you want to fix and then run the macro. I've only tested this with Word 2010 since I don't have Word 2007, but I'm confident that it should work in 2007 as well.
To get the macro code into your document in Word 2007, first follow the "Show the Developer tab" instructions on this page. Then follow the "Write a macro from scratch" instructions on the same page (I used the name FixParagraph
for my macro above). Once you've gotten to the code editor, you can just copy the body of the code above in. There are also instructions on how to run the macro on that same webpage.
Good point with pasting without any formatting – Nicu Zecheru – 2011-06-24T14:20:07.100
1+1 The best answer so far. It's quite unfortunate that in Word I need to jump through all those hoops just to do what my mail client does with a single keyboard shortcut... – thkala – 2011-06-25T05:44:41.337
Yeah, it seems to me like Word should default to pasting plain text in so that the formatting matches the context of the document (font, font size, color, etc). I think people want to do that more often than having Word attempt (with limited success) to copy the formatting from the source. But, c'est la vie. I use LaTeX for most of my writing nowadays. It's really nice once you know your way around it, but it has a fairly steep learning curve. I've made good use of the LaTeX Stack Exchange site while learning it. – Brandon – 2011-06-27T20:09:31.087
@thkala I wrote up a little macro that takes care of both the line breaks and extra spaces and added it to my answer. Of course, it involves the extra step of copying the macro code into your document... – Brandon – 2011-06-28T01:20:16.347
Very nice! Thanks for the macro - I tried it out and it's exactly what I need... – thkala – 2011-06-28T17:42:37.553