Удаление лишних символов в Word
Для удаления лишних символов в документах приложения Word предусмотрено стандартное средство, такое как «Найти и заменить». Этот инструмент позволяет удалять как единичные символы, так и целые группы, при условии использования подстановочных знаков, но и этого бывает недостаточно.
Удаление символов поиском и заменой
Самый простой способ удалить какой-либо знак из текста документа Word – перейти на вкладку «Главная», в группе кнопок «Редактирование» кликнуть по кнопке «Заменить», в появившемся диалоговом окне написать удаляемый символ в поле «Найти», поле «Заменить на» при этом оставить пустым и нажать кнопку «Заменить» либо «Заменить все».
Удаление группы символов при помощи подстановочных знаков
Если в диалоговом окне «Найти и заменить», которое вызывается также при помощи горячих клавиш Ctrl+H, развернуть меню настроек, нажав на кнопку «Больше», то в разделе «Параметры поиска» можно включить использование подстановочных знаков. Это дает возможность удалять символы целыми диапазонами, например, для удаления всех цифр необходимо указать диапазон [0-9].
Надстройка для Word по удалению символов из выделенного текста
Выборочное удаление символов можно производить при помощи надстройки для Word.
В диалоговом окне надстройки перечислены основные наборы символов и варианты их сочетаний, а также текстовое поле для ввода символов-исключений. Для выборочного удаления необходимо выделить текст в документе, вызвать диалоговое окно и выбрать необходимую опцию, соответствующую группе символов. При необходимости некоторые символы можно исключить из группы, например, для того, чтобы удалить из текста любые знаки, но при этом оставить пробелы и знаки препинания. В диалоговом окне можно задать свою собственную группу символов, указав их в соответствующем текстовом поле через точку с запятой.
Для предварительного просмотра символов, подлежащих удалению, в надстройке предусмотрена возможность изменения цвета шрифта.
Другие материалы по теме:
- Видео по выборочному удалению листов рабочей книги Excel
- Как удалить столбцы? Удаление столбцов
- Видео по выборочному удалению значений ячеек
- Видео по выборочному удалению столбцов по условию
- Как удалить все листы в Excel кроме активного? Как удалить каждый второй лист в Excel? Выборочное удаление листов
Удаление текста между двумя фрагментами другого текста
Имеется следующая задача: есть документ, в этом документе имеется ненужный текст. Текст соответственно разбросан по всему документу. Перед началом каждого такого «ненужного» текста имеется фрагмент — фрагмент №1, в конце этого «ненужного» текста имеется фрагмент №2 (то есть в начале ненужного текста написано фрагмент №1 , а в конце фрагмент №2). И так по всему документу.
Хотелось бы макрос, который ищет этот «ненужный» текст и удаляет его. И, соответственно, затем (или одной задачей) удалял эти фрагменты — фрагмент №1 и фрагмент №2.
Денис, вот вариант решения (не макрос, так как он излишен в данном случае), подсказанный Александром Витером.
Допустим, по вашим условиям у вас имеется в документе такой текст:
«фрагмент №1 некий текст фрагмент №2»
Нужно удалить и «некий текст» и обе надписи «фрагмент».
Откройте диалоговое окно Найти и заменить (CTRL+H) и в поле Найти введите следующее выражение:
([Фф]рагмент №1)*([Фф]рагмент №2)
Поле Заменить оставить пустым.
Установить флажок на параметре Подстановочные знаки .
Нажмите кнопку Заменить все и вы получите то, что вы хотели.
Еще записи по вопросам использования Microsoft Word:
- 10 вопросов и ответов по редактору Word (1 часть)
- Word 2007: добавляем свою вкладку и свои команды
- Word 2007: полотно, рисунки, линии
- Word 2007: смена формата сохранения файла
- Word 97 — решение проблемы с отображением символов на линейке
- Word 97. Слияние документов как один из способов упростить свою работу
- Абзац с цветным фоном
- Автозаполняемые колонтитулы
- Автоматизация текстового набора в Word
- Автоматическая нумерация билетов
- Автоматическая расстановка переносов
- Автоматическое обновление полей при открытии документа
- Автоматическое сохранение документа при его закрытии
- Автотекст с последовательной нумерацией
- Автоформат документов
- Белый текст на синем фоне в Word 2007
- Буквица
- Быстрая смена ориентации страниц документа
- Быстрое изменение стиля форматирования текста
- Быстрое удаление границ у таблицы
- Быстрый поиск форматированного текста
- В чем различие между Автозаменой и Автотекстом
- В чем различие между стилями Обычный (Normal) и Основной текст (Body Text)?
- Ввод повторяющихся фрагментов текста в Word 2007
- Ввод часто повторяющихся фрагментов текста
Комментариев: 24
11.09.2009 в 07:48 | #1
А что делать если фрагмент№2 всегда разный? Нужен макрос.
05.11.2009 в 23:35 | #2
Здравствуйте, а что делать, если мне надо удалить такую штуку: *знак обзаца* *набор из чисел и знаков пробел* *знак обзаца* *знак обзаца* Например так: *знак обзаца* 16161 178189 1 *знак обзаца* *знак обзаца* Вот такое все вместе как удалить? Скажите пожалуйста, буду очень благодарен.

06.11.2009 в 10:13 | #3
Евгений, попробуйте в поле «Найти» ввести выражение: ^13[0-9]<5>^32[0-9]^32[0-9]^32^13 а в поле «Заменить» то, на что заменяете или оставьте пустым. Установите флажок на опции «Подстановочные знаки». П.С. Я взял за основу исключительно ваш пример.5>
06.11.2009 в 12:58 | #4
Извините, а не могли бы вы рассказать, что в подстановочных знаках значат такие символы как *знак обзаца*, *пробел*. Вообще, не могли бы вы подсказать расшифровки этих знаков в формуле? Откуда взялись эти знаки и где их посмотреть, если не трудно. Заранее благодарен.

06.11.2009 в 13:29 | #5
Евгений, я вам очень рекомендую ознакомиться с этой заметкой и обязательно изучить статью С.Хозяинова (ссылка в заметке).

06.11.2009 в 13:35 | #6
В данном случае знак абзаца выражен через код 13, а пробел — 32; числа выражены через диапазон значений (в квадратных скобках), а их количество задано в фигурных скобках.
06.11.2009 в 15:52 | #7
Спасибо большое!
17.03.2010 в 15:05 | #8
Появилась очень похажая задача, но после 2-х часов мучений над ней (все ссылки уже изучил здесь) так ничего и не вышло. Суть проблемы в следующем. Есть текст такого вида: +++++*конец абзаца* русская фраза*конец абзаца* ——*конец абзаца* Нужно каким-то образом пронумеровать все строки «русская фраза». Находить её у еня получалось по шаблону ^0013?русская фраза^0013. А вот если я пытаюсь добавить формат, то он добавляется и к первому и последнему абзацу, в итоге нумеруют одна строка над и под фразой. Подскажите, как это можно реализовать.

17.03.2010 в 15:12 | #9
Георгий, приложите ваш документ. Не забудьте сообщить ссылку на файл.
17.03.2010 в 15:52 | #10
Георгий, эту задачу можно решить за два шага. Шаг первый: Ищете текст тем выражением, которое работает, но его нужно немного изменить: (^0013?)(русская фраза)(^0013) и делаем замену таким выражением(пока без форматирования): \1@#$%\2@#$%\3. Тем самым русская фраза станет уникальной и её можно будет найти не привязываясь к другим элементам текста. Шаг второй: Ищем выражение (@#$%)(русская фраза)(@#$%) и заменяем на \2, но уже с нужным форматированием. Я так понял, вы хотите применить стиль нумерованного списка? Вместо @#$% можно использовать любые другие сочетания символов, которые точно не встречаются в документе.
17.03.2010 в 15:57 | #11
Антон, спасибо, что отозвались, без вас у меня никак ничего не получается Эх, не хотел захлямлять комментарии, но видимо придётся. Структуру файлика залил: http://slil.ru/28809888 Теперь что касается конечного результат, собственно самой цели, которую нужно достичь. Нужно пронумеровать все названия в тексте, причём не обычной нумерацией, а просто поставив некий счётчик после названия, т.е. «Название 01», «Название 02» и т.д. После этого всё экспортируется в обычный текстовый документ. Я разбил задачу на 2 этапа: 1. В ворде пронумеровать все названия и экспотировать результат в текст. 2. В новом созданном текстовом документе (обычный текст) поменять местами число перед названием и само название. Для этого этапа шаблон для поиска и замены сделать у меня получилось. В идеале было бы здорово создать макрос, но времени на изучение уйдёт куда больше, чем несколько раз в неделю всё делать ручками. Такая вот ситуация.
17.03.2010 в 16:00 | #12
Александр, спасибо! Как вариант действительно очень подойдёт. Сразу не подумал, что можно название сначала уникализировать. Но рас уж я предыдущее сообщение написал, то может есть ещё какие-то варианты, как сразу сделать счётчик после названия?
18.03.2010 в 09:24 | #13
Что ж, Георгий, здесь без макроса не обойтись:
Sub AutoNumberCaptions() Selection.HomeKey wdStory With Selection.Find .ClearFormatting 'Очищаем форматирование поиска .Text = "Название текста^p" 'Искомое выражение 'Делаем, пока выражение найдено While .Execute With Selection .Collapse wdCollapseStart 'снимаем выделение 'Добавляем поле SEQ для последовательной нумерации .Fields.Add .Range, wdFieldSequence, "МоёНазвание " & "\# 00" 'После поля ставим неразрывный пробел .TypeText ChrW(160) 'Перемещаем курсор в конец абзаца для продолжения поиска .EndOf wdParagraph End With Wend .ClearFormatting .Execute End With End Sub
19.03.2010 в 12:47 | #14
Александр, огромное спасибо! Я немного подправил макрос и всё заработало как положено, теперь куча рутинной работы превратилось в одно нажатие кнопки Вот что изменил:
Sub AutoNumberCaptions() Selection.HomeKey wdStory NameString$ = "Название текста" With Selection.Find .ClearFormatting 'Очищаем форматирование поиска .Text = "^p" + NameString$ + "^p" 'Искомое выражение 'Делаем, пока выражение найдено While .Execute With Selection .TypeText ChrW(13) .TypeText NameString$ + ChrW(160) .Fields.Add .Range, wdFieldSequence, "МоёНазвание " & "\# 00" 'После поля ставим неразрывный пробел 'Перемещаем курсор в конец абзаца для продолжения поиска .EndOf wdParagraph End With Wend .ClearFormatting .Execute End With End Sub
Пытался сам разобраться в вб, что бы некоторые действия ещё добавить для поолнейшей автоматизации, но не получается что-то. Суть в том, что перед самым первым названием нет перевода строки и оно не находится. Что нужно в скприптик добавить, что бы он перед его выполнением ставил ChrW(13) в начале всего текста, а после выполнения скрипта этот перевод строки удалял?
19.03.2010 в 14:34 | #15
Вот именно потому, что первое выражение не находится, я сделал условие поиска с одним абзацем в конце. Можно, конечно, добавить абзац в начало документа, тогда макрос будет выглядеть так (я так понял, что номер нужнжо ставить после текста):
Sub AutoNumberCaptions() Dim NameString As String 'Объявляем переменную 'Вставляем абзац в начало документа Selection.Document.Range.InsertParagraphBefore 'Переходим в начало документа Selection.HomeKey wdStory NameString = "Название текста" With Selection.Find .ClearFormatting 'Очищаем форматирование поиска .Text = "^p" & NameString & "^p" 'Искомое выражение 'Делаем, пока выражение найдено While .Execute With Selection .EndKey wdLine 'Курсор в конец абзаца .TypeText ChrW(160) 'Неразрывный пробел .Fields.Add .Range, wdFieldSequence, "МоёНазвание " & "\# 00" End With Wend .ClearFormatting .Execute End With 'Удаление первого добавленного абзаца Selection.Document.Paragraphs.First.Range.Delete End Sub
23.03.2010 в 17:18 | #16
Александр, протестровал скрипт — это просто нечто, теперь полный автомат. Большое вам спасибо! Всё-таки ворд + vb — это сила.
Добавление и удаление записей автозамены в Word
Word для Microsoft 365 Word для Microsoft 365 для Mac Word для Интернета Word 2021 Word 2021 для Mac Word 2019 Word 2019 для Mac Word 2016 Word 2016 для Mac Word 2013 Word 2010 Word для Mac 2011 Еще. Меньше
Удалить записи из списка автозамены
- Откройте вкладку Автозамена.
- В поле Заменить введите слово для удаления из списка.
- Выберите запись из списка.
- Выберите Удалить.
Добавить запись в список автозамены
- Откройте вкладку Автозамена.
- В поле Заменить введите слово или фразу, которые вы часто ошибаетесь.
- В поле Вместе с введите правильное написание слова.
- Выберите Добавить.
Для получения дополнительной информации на вкладке Автозамена см. Параметры автозамены.
Примечание: Вы можете добавить несколько записей, которые указывают на один и тот же текст «Вместе с». Просто добавьте отдельную запись для каждого изменения.
Список автозамены является общим для всех приложений Microsoft Office, поддерживающих эту функцию. Это означает, что добавление или удаление слова в списке одного приложения Office отражается и на всех остальных приложениях набора.
Удалить запись из списка автозамены
- Нажмите или коснитесь в списке и введите первые несколько букв слова или фразы для удаления.
- Прокрутите, чтобы найти и выбрать запись.
- Выберите знак —.
Добавить запись в список автозамены
- Откройте вкладку Автозамена.
- Выберите знак + в левом нижнем углу диалогового окна и введите слово или фразу, которые вы часто пишете с ошибками, в столбце Заменить.
- В столбце Вместе с введите правильное написание слова.
- Нажмите клавишу ВВОД.
Примечание: Вы можете добавить несколько записей, которые указывают на один и тот же текст «Вместе с». Просто добавьте отдельную запись для каждого изменения.
Список автозамены является общим для всех приложений Microsoft Office, поддерживающих эту функцию. Это означает, что добавление или удаление слова в списке одного приложения Office отражается и на всех остальных приложениях набора.
Word для Интернета поддерживает автозамену, но вы не можете добавлять или удалять слова из списка автозамены. Если у вас есть классическая версия Word, выберите Редактирование > Открыть в классическом приложении и следуйте инструкциям на вкладках Windows или macOS.
Удаление разрывов строк в MS Word
Для удаления разрывов строк в MS Word вы можете выполнить следующие простые действия:
- Ctrl+A выделить весь текст.
- Ctrl+H открывает диалоговое окно Найти & Заменить. В «Найти», вводим «^p^p». Выражение «^p» имеет значение конца абзаца и перехода на новую строку. В «Заменить на», вводим «===». (Это позволит сохранить пустые строки между абзацами.)
- Нажмите «Заменить Все».
- Еще раз вызываем диалог найти и заменить. В поле «Найти», используем «^p». Для замены выбираем » » (пробел).
- Наконец , возвращаем пустые строки, которые были в тексте. Находим «===» и заменяем на «^p».
Популярные текстовые сервисы
- Удалить разрывы строк в Delphi
- Удалить разрывы строк в C#
- Удалить разрывы строк в C++
- Удалить разрывы строк в SQL
- Удалить разрывы строк в Javascript
- Удалить разрывы строк в PHP
- Удалить разрывы строк в Python
- Remove Line Breaks in MS Word
- Remove Line Breaks in MS Excel
- What is a newline?
- What is a carriage return?
© 2010-2023 Довжик Михаил
Удаление разрывов строк в MS Word — узнайте, как удалить разрывы строк в текстовой переменной средствами MS Word.
