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



    
rambler's top100 Rambler's Top100