Макрос для удаления лишних пробелов word
Удалить лишние пробелы. Еще один урок по форматированию текста в Word. Вы потратите на его изучение всего пару минут, а выиграете многие часы и нервы. Лучше потратить это время на что-нибудь полезное и интересное. Если вам часто приходиться работать с текстами в Ворде, то знать самые необходимые приемы быстрого редактирования и форматирования текста просто необходимо. Иначе ваша работа может стать не только ненавистной, но и не выполнимой. А ведь можно работать и с удовольствием, получая удовлетворение от проделанной работы. Представьте, что вам необходимо за пару часов отредактировать текст на 500-ах страницах. Представили? Желание еще не пропало? А для некоторых это не просто работа, а еще и заработок. Так вот, чтобы этот заработок не стал сплошным кошмаром, достаточно просто знать основные настройки и команды текстового редактора. Запомнить их не так уж и сложно.
Можно просто сделать для себя небольшую шпаргалку и обращаться к ней при необходимости.
Описывать я буду на примере текстового редактора Word 2010, но все то же самое можно применить и в Word 2007.
Я часто в процессе создания статьи для сайта, пишу быстро все подряд, пока мне не перебили «гениальную» мысль, а потом уже редактирую текст всеми возможными способами. Так вот пробелов иногда столько понаставлю… Сколько держу клавишу пробел, столько и лепиться этих пробелов. Но потом просто проделываю эту процедуру, и все становиться на свои места. Как это сделать?
Удалить лишние пробелы можно двумя способами: вручную (если текст небольшой), и автоматически. Я предпочитаю все делать быстро. Собственно для этого и стараются разработчики текстового редактора Ворд, чтобы все было быстро и удобно.
Другое дело, что часто их старания напрасны, из-за того, что людям просто некогда изучать справочные мануалы. И смысла нет изучать то, что вам может никогда и не пригодиться. Но если вы читаете эту статью, то значит вам это действительно необходимо.
Как автоматически удалить лишние пробелы в Ворде
Открываем документ, который нам необходимо отредактировать.
Переходим в меню Главная в самый конец (справа). Там есть блок под названием Редактирование. Щелкаем мышкой по ссылке Заменить.
Откроется небольшое окошко Найти и заменить. Переходим на вкладку Заменить.
Нажимаем внизу клавишу Больше.
Устанавливаем галочку напротив записи Подстановочные знаки. Больше галочек нигде быть не должно. Направление выставляем Везде.
Если нам необходимо во всем тексте установить один пробел, то в строке Найти ставим курсор, и нажимаем на клавиатуре клавишу Пробел. После этого пишем
Эта цифра говорит о том, что если в тексте есть два или более пробела, то их необходимо удалить.
В строке Заменить на, опять ставим курсор и нажимаем на клавиатуре клавишу Пробел.
Теперь нажимаем клавишу Заменить все. После проделанной работы появиться окошко с отчетом.
Теперь можете ставить сколько угодно пробелов, потом просто дадите команду удалить лишние пробелы, и программа все исправит.
Использование макросов значительно ускоряет процесс работы с текстом. Проще и быстрее сделать с помощью макроса однотипные операции, на которые обычно требуются время и внимание.Удаление лишних пробелов в тексте является обычным делом при написании любого текста. Для того, чтобы убрать лишние пробелы, можно удалить их вручную, каждый в отдельности. Но лучше это сделать с помощью макроса.
Как удалить лишние пробелы в тексте используя макрос
Использование макроса, в том числе для удаления лишних пробелов в тексте, проходит в несколько шагов.
1. Включаем возможность использования макросов в тексте. Для этого переходим "Файл - Параметры - Настроить ленту". Включаем чекбокс "Разработчик", далее нажимаем "ОК".
Выбираем появившуюся на ленте вкладку "Разработчик", далее нажимаем на значок (желтый треугольник - предупреждение с восклицательным знаком) для выбора настройки параметров безопасности макроса.
Выбираем "Включить все макросы (не рекомендуется, возможен запуск опасной программы)". Затем "ОК", для применения параметров.
В длинном списке находим "Удаление лишних пробелов".
Переходим на страницу скачивания макроса и копируем сам макрос.
Вставляем макрос. Для этого переходим в документ Word, далее на вкладке "Разработчик" выбираем Visual Basic.
В открывшемся окне: "Insert - Module".
Вставляем макрос, который мы скопировали, в открывшееся окно. Затем закрываем это диалоговое окно, макрос готов к работе.
Для проверки работоспособности макроса в вордовском документе вставляем лишние пробелы между словами. На вкладке "Разработчик" выбираем "Макросы". Выбираем макрос, который нам нужен (DeleteSpace) и нажимаем "Выполнить".
Появится диалоговое окно, в котором нам напишут сколько лишних пробелов было устранено, а также будет предложено начать поиск с начала документа. Отвечаем "Да". Программа проверит весь документ и удалит лишние пробелы, если такие имеются во всем документе.
Убеждаемся, что лишние пробелы между словами устранены. Теперь можно использовать для удаления лишних пробелов макрос и в других документах Word. Экономия времени и результат обеспечены.
Для обеспечения безопасности (применение скриптов не безопасно), после применения макроса, отключаем возможность выполнения макросов. Для этого на вкладке "Разработчик" нажимаем на желтый треугольник с восклицательным знаком и в настройках параметрах безопасности макросов выбираем "Отключить все макросы без уведомления", далее "ОК".
Если хотите убрать вкладку "Разработчик", то переходим "Файл - Параметры - Настроить ленту". Снимаем чекбокс с "Разработчик", нажимаем "ОК".
Если вы в силу специфики своей работы часто получаете документы Word, подготовленные кем-то другим, то наверняка встречали в текстах помимо орфографических ошибок, проблемы иного рода - лишние пробелы между словами или перед знаками препинания. Удалять их вручную утомительно и требует много времени. Но можно значительно облегчить себе жизнь, если создать два макроса, которые самостоятельно и в мгновение ока избавят документ от этой напасти. Макросы не оригинальны и созданы по мотивам советов авторов книги "Microsoft Word: комфортная работа с помощью макросов".
Для начала откройте какой-нибудь документ, который вы предполагаете проверить, или же сами создайте такой документ, намеренно добавив в текст лишние пробелы между словами и перед знаками препинания. Первым мы создадим макрос, который будет удалять лишние пробелы между словами.
1. Зайдите в меню "Сервис" (Tools), выберите команду "Макрос" (Macro) и из открывшегося списка выберите команду "Начать запись" (Record New Macro). Появится диалоговое окно, в котором следует назначить макросу имя (пусть будет DeleteSpace) и щелкнуть на кнопке с изображением молотка для назначения макросу кнопки. Если вы не хотите выводить кнопку макроса на панель инструментов, а желаете пользоваться сочетаниями клавиш, то можете кликнуть на кнопке с изображением клавиатуры:
2. Откроется диалоговое окно, в котором вам следует перейти на среднюю вкладку "Команды" и из правого поля перетащить на панель инструментов ваш новый макрос с названием Normal.NewMacros.DeleteSpace. Кстати, позже или прямо сейчас вы можете изменить стиль кнопки, отредактировав ее текст или назначив для кнопки какое-нибудь подходящее изображение.
3. Закройте окно. После этого на рабочем окне документа появится панелька с управляющими кнопками для записи макроса (см. скриншот).
4. Теперь будьте аккуратны, так как макрос уже пишется. Нажмите сочетание клавиш "CTRL+H". Откроется диалоговое окно "Найти и Заменить". Для доступа к параметрам поиска нажмите кнопку "Больше", если диалоговое окно представлено в краткой форме.
6. Выделите весь текст документа, нажав сочетание клавиш "CTRL+A".
7. Введите в поле "Найти" пробел, а потом введите следующее выражение:
Здесь в фигурных скобках введена цифра 2, а сразу за ней точка с запятой. Это выражение означает, что будет произведен поиск двух и более расположенных подряд вхождений того знака, который стоит перед открывающейся фигурной скобкой. В нашем случае будет произведен поиск двух и более пробелов.
8. Перейдите в поле "Заменить на" и введите один пробел.
10. После окончания поиска и замены закройте диалоговое окно "Найти и заменить". Снимите выделение текста, нажав на клавиатуре клавишу стрелки.
11. Нажмите на кнопку с квадратиком в управляющей панели, чтобы остановить запись.
Для тех читателей, которые знают, как работать со встроенным в Microsoft Word редактором Visual Basic, я просто приведу готовый код макроса:
Sub DeleteSpace()
Selection.WholeStory
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = " "
.Replacement.Text = " "
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.MoveRight Unit:=wdCharacter, Count:=1
Второй созданный нами макрос будет находить и удалять все лишние пробелы перед знаками препинания. Повторите шаги с 1 по 6 включительно. Назовите макрос как DeleteSpacePunctuationMark. Дальнейшие шаги:
1. Введите в поле "Найти" сначала пробел, а потом введите следующее выражение:
Это выражение буквально означает, что будет произведен поиск одного и более расположенных подряд пробелов, стоящих перед любым перечисленным в квадратных скобках знаком препинания.
2. Перейдите в поле "Заменить на" и введите \1 (здесь единица означает порядковый номер выражения, заключенного в круглые скобки).
4. После окончания поиска и замены закройте диалоговое окно "Найти и заменить". Снимите выделение текста, нажав на клавиатуре на клавишу стрелки.
5. Нажмите на кнопку с квадратиком в управляющей панели, чтобы остановить запись.
Получившийся код для вставки в редактор VisualBasic:
Sub DelSpacePunktMark()
Selection.WholeStory
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = " ([. ;\!\?])"
.Replacement.Text = "\1"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.MoveLeft Unit:=wdCharacter, Count:=1
End Sub
Так вы избавитесь от рутины ручных действий, которые, увы, неизбежны при редактировании любых документов Word, особенно при поиске лишних пробелов в тексте.
Пример будет показан на версии Microsoft Office Word 2016.
Способ 1. Без использования макросов.
Воспользуемся простым поиском и заменой, то есть, инструментами редактора Word.
На главной странице находим кнопку «Заменить» и нажимаем на нее.
Напротив «Найти» вводим в поле два пробела.
Напротив «Заменить» вводим в поле один пробел.
После этого нажимаем на кнопку «Заменить все».
Это довольно простое действие для замены лишних пробелов, но в случае если пробел стоит перед запятой, точкой или другим знаком препинания – нужно выполнить другой способ замены.
Для этого (на примере запятой):
На главной странице находим кнопку «Заменить» и нажимаем на нее.
Напротив «Найти» вводим в поле пробел и тогда кому.
Напротив «Заменить» вводим в поле только кому.
После этого нажимаем на кнопку «Заменить все».
Способ 2. Использование макросов.
Для простого удаления лишних пробелов между словами и знаками препинания, а также перед знаками препинания, нужно использовать два макроса.
Берем два кода, что ниже и копируем в буфер обмена:
Sub DeleteSpace()
Selection.WholeStory
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = " "
.Replacement.Text = " "
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.MoveRight Unit:=wdCharacter, Count:=1
End Sub
Sub DelSpacePunktMark()
Selection.WholeStory
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = " ([. ;\!\?])"
.Replacement.Text = "\1"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.MoveLeft Unit:=wdCharacter, Count:=1
End Sub
Открываем «Макросы», перейдя на вкладкку «Вид», и нажав на соответствующую кнопку. Если у вас есть установленные или записанные макросы, то можно выделить любой из них и нажать на кнопку «Изменить». Если макросов нет, то в поле «Имя» пишем любое имя без пробелов. Также имя макроса не может состоять только из одних цифр. Дали для макроса имя, теперь можно нажать на кнопку «Создать».
Примечание. Для быстрого запуска визуального редактора Microsoft Visual Basic (именно в нем происходит редактирование макросов) нужно нажать сочетание клавиш Alt+F11.
Откроется окно визуального редактора для добавления макроса. Просто после горизонтальной линии вставляем два наших кода, которые перед этим скопировали. Если вы создавали имя макроса, то можете удалить его и заменить нашими готовыми макросами (чтобы не было пустых макросов при выборе). Во всяком случае код нужно вставить после End Sub.
Сохраняем наши изменения.
Нажимаем опять на кнопку «Макросы», выбираем из списка только что добавленные и нажимаем «Выполнить».
Для удаления пробелов используем макрос с именем (его можно изменить) DeleteSpace, а для пробелов перед знаками препинания DelSpacePunktMark.
После данных действий ваш текст будет иметь нужный вид.
Лишние пробелы – не только очень мешающий знак в документах, но и признак неопытности человека, набирающего текст. Каждый лишний пробел – это дополнительный отрицательный фактор для неряшливо оформленного документа Word. Достаточно изменить отступы полей или отступ красной строки, чтобы готовый казалось бы текст «разъехался» в разные стороны. Этого можно избежать, если на этапе набора текста не вводить лишние пробелы. Но чаще всего неряшливый текст не создаётся с нуля, а находится в интернете, например, в виде рефератов, дипломов и т.д. Что же делать? Удалять каждый пробел вручную? Не надо – Word позволяет не только вводить лишнее, но и быстро удалять его.
Способ 1 – самый простой
Чаще всего лишние пробелы в начале строки заменяют неопытным пользователям отступы красной строки (первой строки в абзаце). Вместо пробелов в таких случаях используйте меню Формат | Абзац …, на вкладке «Отступы и интервалы» в поле «Отступ | Первая строка» выберите «Отступ» и задайте стандартное значение – 1,27 см .
Чтобы быстро убрать все лишние пробелы и табуляторы в началах и концах строк, выделите весь текст, задайте выравнивание по центру – пробелы будут удалены. После этого задайте нужное выравнивание, например по ширине.
Способ 2 – более корректный
Лишние пробелы ставят в основном из-за того, что не знают о неразрывном пробеле, и пытаются добавить множество пробелов, чтобы буква «г.» не отделилась от года или названия города. Кстати, чтобы ввести неразрывный пробел, используйте Ctrl+Shift+Пробел – нажмите и держите Ctrl , Shift , нажмите пробел и отпустите все клавиши. Почти так же ставится инеразрывный дефис в сочетаниях типа – Ctrl+Shift+Дефис .
Способ 1 – самый простой
Если ситуация совсем ужасная и в тексте пробелов очень и очень много – предварительно замените пять пробелов подряд на один пробел. После избавления от них заменяйте на одинарный пробел двойные пробелы.
Способ 2 – для продвинутых (можно в макрос записать)
Здесь в фигурных скобках введена цифра 2, а сразу за ней точка с запятой. Это выражение означает, что будет произведен поиск двух и более расположенных подряд вхождений того знака, который стоит перед открывающейся фигурной скобкой. В нашем случае будет произведен поиск двух и более пробелов.
Для того, чтобы удалить все лишние пробелы перед знаками препинания в ведите в поле «Найти» сначала пробел, а потом введите следующее выражение:
Это выражение буквально означает, что будет произведен поиск одного и более расположенных подряд пробелов, стоящих перед любым перечисленным в квадратных скобках знаком препинания.
Перейдите в поле «Заменить на» и введите \1 (здесь единица означает порядковый номер выражения, заключенного в круглые скобки).
Так вы избавитесь от рутины ручных действий, которые, увы, неизбежны при редактировании любых документов Word, особенно при поиске лишних пробелов в тексте.
Читайте также: