Статьи из блога
Как удалить лишние пробелы в тексте без использования диалогового окна “Найти и заменить”
Вопрос от Сергея:
Необходимо реализовать замену нескольких пробелов в тексте на один, при этом не использовать диалог "Найти и заменить" (даже программно), то есть реализовать надо макросом с простым перебором в цикле. Помогите, пожалуйста.
Сергей, вот пример такого макроса, предложенного Александром Витером:
Sub ReplaceMultiSpaces() Dim oChar As Range For Each oChar In ActiveDocument.Characters If oChar.Text = " " Then While oChar.Next(wdCharacter).Text = " " oChar.Next(wdCharacter).Delete Wend End If Next End Sub
Если вы не знаете, как подключить к документу и применить эти макросы, изучите следующие заметки с сайта:
Создание макроса из готового кода
Рубрика: Вопрос-Ответ, Макросы, Стили и форматирование
Метки: макросы | поиск и замена | форматирование
Просмотров: 23773
Подписаться на комментарии по RSS
Версия для печати
Метки: макросы | поиск и замена | форматирование
Просмотров: 23773
Подписаться на комментарии по RSS
Версия для печати
Еще записи по вопросам использования Microsoft Word:
- 10 вопросов и ответов по редактору Word (1 часть)
- 3 способа очистки списка недавно открытых документов
- Word 2007: добавляем свою вкладку и свои команды
- Word 2007: полотно, рисунки, линии
- Word 2007: смена формата сохранения файла
- Word 97 - решение проблемы с отображением символов на линейке
- Word 97. Слияние документов как один из способов упростить свою работу
- Абзац с цветным фоном
- Автозаполняемые колонтитулы
- Автоматизация текстового набора в Word
- Автоматическая запись макроса
- Автоматическая нумерация билетов
- Автоматическая расстановка переносов
- Автоматическое обновление полей при открытии документа
- Автоматическое сохранение документа при его закрытии
- Автотекст с последовательной нумерацией
- Автоформат документов
- Белый текст на синем фоне в Word 2007
- Буквица
- Быстрая смена ориентации страниц документа
- Быстрое изменение стиля форматирования текста
- Быстрое перемещение между открытыми документами Word
- Быстрое создание нового документа на основе шаблона
- Быстрое удаление границ у таблицы
- Быстрый ввод текста с помощью команды =rand()
Комментариев: 4
Очень хороший макрос! Спасибо!
Удобный макрос. Только у меня зависает на больших документах. Как его надо исправить, чтобы обрабатывалась только выделенная часть документа? Может тогда не будет зависать?
Вот так, но я бы использовал поиск и замену. По скорости — не сравнить.
А что делается строчкой DoEvents ? У меня второй макрос что-то не срабатывает.