Объединение и переформатирование абзацев в Microsoft Word 2007

после копирования / вставки неудачу в Microsoft Word 2007, я в конечном итоге с текстом выглядит следующим образом:

This line   breaks up here

continues here, and    so on

here, when    it should all be

in a    single line without

all the random    whitespace.

Я подтвердил, что между каждой строкой есть разделители абзацев и дополнительные пробелы - вероятно, из-за жестко закодированных новых строк в исходном источнике.

  1. есть (желательно простой) способ объединения абзацев в Word?

  2. есть ли способ переформатировать абзац, чтобы удалить лишние пробелы? Я можно изменить стиль flush, но пробелы остаются.

I (очевидно?) у меня нет опыта работы с Word, будучи больше человеком TeX, но я искал Google и сканировал меню в течение нескольких часов, и мне еще предстоит найти решение...

29
задан karel
18.05.2023 0:40 Количество просмотров материала 3633
Распечатать страницу

3 ответа

чтобы избавиться от лишних пробелов, вы можете найти/заменить и ввести два пробела в поле Найти и один пробел в поле заменить. Затем просто повторяйте это снова и снова, пока он больше ничего не найдет. Однако, если у вас есть какие-либо намеренные группы из двух или более пробелов, это также преобразует их только в один пробел. Но, как правило, два пробела не нужны даже между предложениями, Если вы не используете шрифт с одним интервалом (см. этот вопрос).

Примечание: когда я копирую и вставляю вещи в Word (например, с веб-страниц или pdf-документов), я обнаружил, что могу избежать некоторых форматирования wierdness, убедившись, что я просто копирую и вставляю простой текст без форматирования информации из источника. Раньше я делал это, сначала вставляя его в пустой документ Блокнота, а затем повторяя из блокнота в Word. В Word 2010 можно пропустить этот шаг, щелкнув правой кнопкой мыши и используя опция "только текст" под параметрами вставки. Это может не помочь в вашем случае, поскольку в источнике, из которого вы копируете, есть фактические дополнительные символы.

Edit:

Я заметил, что вы упомянули о возможности использования макроса и написали его. Вот код 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 для моего макроса выше). Как только вы доберетесь до кода Редактор, вы можете просто скопировать тело кода выше. Есть также инструкции о том, как запустить макрос на той же странице.

3
отвечен Brandon 2023-05-19 08:28
  1. нажмите Ctrl+H, чтобы открыть найти и заменить
  2. нажмите на кнопку заменить tab
  3. нажмите на кнопку найти поле, затем на специальные
  4. выберите Абзаца (вы увидите ^p в поле поиска)
  5. на заменить на поле вам не нужно ничего вводить.

проблема это заменить все пункты...

вы можете играть с этими специальными символами. Удачи вам!

2
отвечен Nicu Zecheru 2023-05-19 10:45

главный ответ:

(вдохновленный Nicu Zecheru'ы ответ)

  1. выберите текст, который вы хотите удалить абзац перерывы
  2. пресс Ctrl-H
  3. найти: ^p (Знак абзаца)
  4. замените на то, что подходит (например, просто пробел)
  5. клик Заменить Все. Он расскажет вам, сколько замен он сделал в выборе и хотите ли вы продолжить вне выбора:
  6. клик нет

вот и все, теперь все абзацы заменяются в вашем выборе.

бонус: Если вы не знаете как сделать непечатаемые символы видны, выполните следующие действия:

вам нужно сделать non-printable видимые символы-нажмите на эту иконку в панели инструментов:enter image description here

теперь вы увидите знаки абзаца, пробелы, т. д.:

enter image description here

удалить знаки абзаца (выделен желтым на картинке) как требуется исправить текст. После этого вы можете формат межстрочного интервала требуется через пункт свойства.

П. С. скриншоты из Word 2010 но символы и функциональность будут то же самое в версии любого слова.

1
отвечен Dmitry Selitskiy 2023-05-19 13:02

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх