|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.04.2020, 18:26 | #1 |
Новичок
Джуниор
Регистрация: 03.04.2020
Сообщений: 3
|
Макрос ВИСЯЧИЕ ПРЕДЛОГИ
Помогите!
Данный макрос почему то виснет напрочь на таблицах и рисунках. Можно ли переписать действие макроса, чтобы не зависал? Sub ВисячиеПредлоги1() Dim s$, n& Selection.HomeKey Unit:=wdStory Do Selection.EndKey Unit:=wdLine If Selection.End + 1 >= ActiveDocument.Range.End Then Exit Do Selection.MoveLeft Unit:=wdWord, Count:=1, Extend:=wdExtend s = Selection.Text If s = vbCr Then 'пустой абзац, выделение сместилось на строку вверх! Selection.MoveDown Unit:=wdLine, Count:=1 ElseIf LCase$(Right$(s, 2)) Like "[a-zа-яё] " And (Len(s) = 2 Or Len(s) = 3) Then Selection.EndKey Unit:=wdLine Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend Selection.TypeText Text:=Chr(160) 'неразрывный пробел; происходит переход на сл. строку n = n + 1 Selection.MoveUp Unit:=wdLine, Count:=1 End If Selection.MoveDown Unit:=wdLine, Count:=1 Loop MsgBox "Выполнено замен: " & n, vbInformation End Sub |
18.04.2020, 07:22 | #2 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Странный макрос. Если нужно заменить пробелы после предлогов на неразрынвный пробел, то достаточно поиска и замены:
Код:
Лучше день потерять — потом за пять минут долететь!©
|
26.04.2020, 17:21 | #3 |
Новичок
Джуниор
Регистрация: 03.04.2020
Сообщений: 3
|
Нужно не просто заменить пробелы после предлогов на неразрывный пробел, а только у предлогов, которые (висячие) в конце строки.
|
26.04.2020, 22:00 | #4 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Ну если так, то попробуй такой вариант
Код:
Лучше день потерять — потом за пять минут долететь!©
|
27.04.2020, 12:49 | #5 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Немного интерактивности
Код:
Лучше день потерять — потом за пять минут долететь!©
|
05.05.2020, 13:34 | #6 |
Новичок
Джуниор
Регистрация: 05.05.2020
Сообщений: 1
|
Спасибо!
Здравствуйте, viter.alex!
Спасибо, все работает! Очень помог Ваш код! Пока только начинаю разбираться с VBA. Последний раз редактировалось alex4trd; 05.05.2020 в 13:43. |
11.05.2020, 14:09 | #7 |
Новичок
Джуниор
Регистрация: 03.04.2020
Сообщений: 3
|
viter.alex, спасибо! Первый работает, а у второго какая-то ошибка по-видимому.
|
09.01.2022, 19:04 | #8 |
Новичок
Джуниор
Регистрация: 19.12.2016
Сообщений: 3
|
Всем привет. Как применить данный код, может кто подсказать?
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Висячие предлоги,как убрать? | Alena029 | Microsoft Office Word | 14 | 31.03.2017 12:26 |
Макрос постоянно обрабатывает события. При открытии другой книги макрос обрывается. | Ples | Microsoft Office Excel | 8 | 17.12.2016 18:15 |
Exel - при открытии файла через макрос, если файл отсутствует - виснет весь макрос | gregory1b | Microsoft Office Excel | 2 | 14.10.2010 11:51 |
Макрос, запускающий макрос из другого закрытого файла | petruha | Microsoft Office Excel | 7 | 14.03.2010 11:31 |
Макрос вставки файлов в листы-Необходимо изменить ниже приведённый макрос | as-is | Microsoft Office Excel | 4 | 25.02.2010 07:51 |