(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Удаление лишних пробелов в Word

Источник: computerra
Антон Кокин

Если вы в силу специфики своей работы часто получаете документы Word, подготовленные кем-то другим, то наверняка встречали в текстах помимо орфографических ошибок, проблемы иного рода - лишние пробелы между словами или перед знаками препинания. Удалять их вручную утомительно и требует много времени. Но можно значительно облегчить себе жизнь, если создать два макроса, которые самостоятельно и в мгновение ока избавят документ от этой напасти. Макросы не оригинальны и созданы по мотивам советов авторов книги "Microsoft Word: комфортная работа с помощью макросов".

Для начала откройте какой-нибудь документ, который вы предполагаете проверить, или же сами создайте такой документ, намеренно добавив в текст лишние пробелы между словами и перед знаками препинания. Первым мы создадим макрос, который будет удалять лишние пробелы между словами.

1. Зайдите в меню "Сервис" (Tools), выберите команду "Макрос" (Macro) и из открывшегося списка выберите команду "Начать запись" (Record New Macro). Появится диалоговое окно, в котором следует назначить макросу имя (пусть будет DeleteSpace) и щелкнуть на кнопке с изображением молотка для назначения макросу кнопки. Если вы не хотите выводить кнопку макроса на панель инструментов, а желаете пользоваться сочетаниями клавиш, то можете кликнуть на кнопке с изображением клавиатуры:

Word: удаление лишних пробелов в тексте

2. Откроется диалоговое окно, в котором вам следует перейти на среднюю вкладку "Команды" и из правого поля перетащить на панель инструментов ваш новый макрос с названием Normal.NewMacros.DeleteSpace. Кстати, позже или прямо сейчас вы можете изменить стиль кнопки, отредактировав ее текст или назначив для кнопки какое-нибудь подходящее изображение.

3. Закройте окно. После этого на рабочем окне документа появится панелька с управляющими кнопками для записи макроса (см. скриншот).

Word: удаление лишних пробелов в тексте

4. Теперь будьте аккуратны, так как макрос уже пишется. Нажмите сочетание клавиш "CTRL+H". Откроется диалоговое окно "Найти и Заменить". Для доступа к параметрам поиска нажмите кнопку "Больше", если диалоговое окно представлено в краткой форме.

5. Удалите всё, что находится в поле "Найти" и в поле "Заменить". Нажмите кнопку "Снять форматирование", если эта кнопка активна. Снимите все галочки с режимов в группе "Параметры поиска", но оставьте или поставьте галочку "Подстановочные знаки". Выберите в открывающемся списке направление "Везде".

6. Выделите весь текст документа, нажав сочетание клавиш "CTRL+A".

7. Введите в поле "Найти" пробел, а потом введите следующее выражение:

{2;}

Здесь в фигурных скобках введена цифра 2, а сразу за ней точка с запятой. Это выражение означает, что будет произведен поиск двух и более расположенных подряд вхождений того знака, который стоит перед открывающейся фигурной скобкой. В нашем случае будет произведен поиск двух и более пробелов.

8. Перейдите в поле "Заменить на" и введите один пробел.

9. Нажмите кнопку "Заменить все". Таким образом, если будет найдено несколько подряд стоящих пробелов, то все они заменятся на один пробел.

10. После окончания поиска и замены закройте диалоговое окно "Найти и заменить". Снимите выделение текста, нажав на клавиатуре клавишу стрелки.

11. Нажмите на кнопку с квадратиком в управляющей панели, чтобы остановить запись.

Для тех читателей, которые знают, как работать со встроенным в Microsoft Word редактором Visual Basic, я просто приведу готовый код макроса:

Sub DeleteSpace()
Selection.WholeStory
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = " {2;}"
.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. Введите в поле "Найти" сначала пробел, а потом введите следующее выражение:

{1;}([.,:;\!\?])

Это выражение буквально означает, что будет произведен поиск одного и более расположенных подряд пробелов, стоящих перед любым перечисленным в квадратных скобках знаком препинания.

2. Перейдите в поле "Заменить на" и введите \1 (здесь единица означает порядковый номер выражения, заключенного в круглые скобки).

3. Нажмите кнопку "Заменить все".

4. После окончания поиска и замены закройте диалоговое окно "Найти и заменить". Снимите выделение текста, нажав на клавиатуре на клавишу стрелки.

5. Нажмите на кнопку с квадратиком в управляющей панели, чтобы остановить запись.

Получившийся код для вставки в редактор VisualBasic:

Sub DelSpacePunktMark()
Selection.WholeStory
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = " {1;}([.,:;\!\?])"
.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, особенно при поиске лишних пробелов в тексте.

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 19.01.2007 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Microsoft Office 365 для Дома 32-bit/x64. 5 ПК/Mac + 5 Планшетов + 5 Телефонов. Подписка на 1 год.
Microsoft Office для дома и учебы 2019 (лицензия ESD)
Microsoft 365 Business Standard (corporate)
Microsoft 365 Apps for business (corporate)
Microsoft Windows Professional 10, Электронный ключ
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
eManual - электронные книги и техническая документация
Новые программы для Windows
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100