Чтобы избавиться от лишних пробелов, вы можете выполнить поиск / замену и ввести два пробела в поле поиска и один пробел в поле замены. Затем просто запускайте это снова и снова, пока он больше не найдет ничего. Однако, если у вас есть какие-либо преднамеренные группировки из двух или более пробелов, это также преобразует их в один пробел. Но, как правило, два пробела не нужны даже между предложениями, если только вы не используете моноширинный шрифт (см. Этот вопрос).
Примечание: когда я копирую и вставляю что-то в Word (например, с веб-страниц или документов в формате PDF), я обнаружил, что могу избежать некоторых странностей форматирования, убедившись, что я просто копирую и вставляю простой текст без какой-либо информации о форматировании из источника. Раньше я делал это, вставляя его в пустой документ "Блокнот", затем переписывая из "Блокнота" в Word. В Word 2010 этот шаг можно пропустить, щелкнув правой кнопкой мыши и выбрав опцию "Сохранить только текст" в разделе "Параметры вставки". Это может не помочь в вашем случае, хотя, похоже, в источнике, из которого вы копируете, действительно есть дополнительные символы.
Редактировать:
Я заметил, что вы упомянули возможность использования макроса и написали один. Вот код VBA:
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
Этот макрос заменяет все возвраты каретки и новые строки в выделенном тексте пробелами, а затем избавляется от повторяющихся пробелов. Итак, вы просто выделяете текст, который хотите исправить, а затем запускаете макрос. Я проверял это только в Word 2010, поскольку у меня нет Word 2007, но я уверен, что он должен работать и в 2007 году.
Чтобы вставить код макроса в документ в Word 2007, сначала следуйте инструкциям "Показать вкладку разработчика" на этой странице. Затем следуйте инструкциям "Написать макрос с нуля" на той же странице (я использовал имя FixParagraph
для моего макроса выше). Как только вы попали в редактор кода, вы можете просто скопировать тело кода выше в. Есть также инструкции о том, как запустить макрос на той же веб-странице.