Олексій Гончаров - Стаття про макрос Word - Розбиття тексту на абзаци

Багато хто зіштовхується зі зіпсованими текстами, коли, наприклад, копіюють у Word неправильно форматований текст із сайтів. Проблема тут у тому, що кожен рядок тексту знаходиться в окремому абзаці, що є неправильним за змістом. Такий текст можна виправити на 99% макросом.

І макрос не здатний розпізнати абзаци, які не повинні закінчуватися знаком пунктуації, тут ухвалити рішення може лише людина. Є, щоправда, не дуже витончений варіант, якщо більшість рядків у тексті мають рівну довжину, тоді можна підрахувати її і НЕ обробляти рядки, що мають меншу довжину).

Натомість, якщо заголовки у тексті відформатовані стилем «Заголовок», макрос це враховує та пропускає їх (як відомо, заголовки не закінчуються знаком пунктуації). Звичайно, можна додати інші назви стилів, але це ускладнить код.

Отже, принцип роботи макросу такий: якщо в кінці рядка стоїть символ абзацу, а перед ним немає розділового знака із зазначеного набору, цей символ абзацу підлягає видаленню. На його місце записується пробіл, щоб не «склеїлися» слова, що стоять поруч. Іншими словами, ми автоматично з'єднуємо декілька неправильних абзаців в один правильний.

У макросі немає команди переходу на початок документа, текст обробляється з місця, де стоїть курсор. Справа в тому, що з незрозумілих причин макрос іноді закінчує роботу раніше часу (зазвичай на першому рядку якоїсь сторінки) і його треба запускати заново. При великих обсягах текстів, що обробляються, я навіть рекомендую зробити для макросу кнопку на панелі інструментів.

Найскладніше у цій програмі – безпомилковий рух вниз рядками (які в жодному разі не можна пропускати), тому, якщо допрацьовуватимете макрос, звертайте на це особливеувага.