Макрос СЖАТЬ_ПРОБЕЛЫ, размещённый в стандартном модуле Normal.dot (его вызов "привязан" к соответствующей кнопке на панели инструментов), удаляет многократные пробелы (включая и "неразрывные") в выделенном фрагменте документа: [vba]
Код
Sub СЖАТЬ_ПРОБЕЛЫ() If Selection.Type <> wdSelectionNormal Then Exit Sub 'Selection.Find.Execute FindText:="^w", MatchWildcards:=False, Format:=False, ReplaceWith:=" ", Replace:=wdReplaceAll ' пример развёрнутой записи аргументов метода Execute With Selection.Find .Execute "^w", , , , , 0, , , 0, " ", 2 ' заменить множественные пробелы на один .Execute "^p^w", , , , 0, , , , 0, "^p", 2 ' убрать пробелы в начале абзаца (после ^p) .Execute "^w^p", , , , 0, , , , 0, "^p", 2 ' убрать пробелы в конце абзаца (перед ^p) End With End Sub
[/vba]
Макрос СЖАТЬ_ПРОБЕЛЫ, размещённый в стандартном модуле Normal.dot (его вызов "привязан" к соответствующей кнопке на панели инструментов), удаляет многократные пробелы (включая и "неразрывные") в выделенном фрагменте документа: [vba]
Код
Sub СЖАТЬ_ПРОБЕЛЫ() If Selection.Type <> wdSelectionNormal Then Exit Sub 'Selection.Find.Execute FindText:="^w", MatchWildcards:=False, Format:=False, ReplaceWith:=" ", Replace:=wdReplaceAll ' пример развёрнутой записи аргументов метода Execute With Selection.Find .Execute "^w", , , , , 0, , , 0, " ", 2 ' заменить множественные пробелы на один .Execute "^p^w", , , , 0, , , , 0, "^p", 2 ' убрать пробелы в начале абзаца (после ^p) .Execute "^w^p", , , , 0, , , , 0, "^p", 2 ' убрать пробелы в конце абзаца (перед ^p) End With End Sub
Да, отличный макрос, но когда у меня еще небыло ни интернета ни минимальных познаний в VBA я пользовался простым, довольно эффективным хотя и не таким удобным способом.
Crtl + F > Вкладка "Заменить" > В строке "Найти" ставил два пробела, в строке "Заменить на" один пробел и кликал по кнопке "Заменить все" столько раз, сколько требовалось чтобы убрать все множественные пробелы.
Да, отличный макрос, но когда у меня еще небыло ни интернета ни минимальных познаний в VBA я пользовался простым, довольно эффективным хотя и не таким удобным способом.
Crtl + F > Вкладка "Заменить" > В строке "Найти" ставил два пробела, в строке "Заменить на" один пробел и кликал по кнопке "Заменить все" столько раз, сколько требовалось чтобы убрать все множественные пробелы.808
… и кликал по кнопке "Заменить все" столько раз, сколько требовалось чтобы убрать все множественные пробелы.
все мы когда-то так кликали… Но я всё-таки очень быстро стал настолько продвинутым, что использовал не Crtl+F, а Crtl+H А со временем совсем обленился и, чтобы самому не работать, изучил программирование и начал придумывать, как заставить компьютер делать за меня всякие рутинные операции …
Quote (808)
… и кликал по кнопке "Заменить все" столько раз, сколько требовалось чтобы убрать все множественные пробелы.
все мы когда-то так кликали… Но я всё-таки очень быстро стал настолько продвинутым, что использовал не Crtl+F, а Crtl+H А со временем совсем обленился и, чтобы самому не работать, изучил программирование и начал придумывать, как заставить компьютер делать за меня всякие рутинные операции … Alex_ST
С уважением, Алексей MS Excel 2003 - the best!!!
Сообщение отредактировал Alex_ST - Пятница, 03.02.2012, 12:28