[identity profile] katastrofi4eski.livejournal.com posting in [community profile] useful_faq
Многие замечали, наверное, что когда сохраняешь документ из Интернета в текстовом формате (*.тхт) в Блокноте, то при переносе его в Ворд остаются широкие поля по бокам. "Растянуть" его на всю ширину страницы обычными средствами (линейкой вверху) не получается. Если левое поле еще как-то сдвигается, то правое стоит намертво. Остается удалять все пробелы вручную, что при маленькой объеме текста не так сложно, хоть и муторно.

У меня много-много страниц такого текста, и что с ним делать, я совершенно не представляю.
Подскажите, пожалуйста.

Date: 2006-01-11 09:46 am (UTC)
From: [identity profile] kibirov.livejournal.com
В ворде Сервис - Макросы - Создать, и в открывшемся окне редактора вижуал бэйсика вставляем такое вот безобразие - вместо того, что там уже поставилось.

После этого - как хотите: можно кнопку или клавишу назначить макросу, можно просто заходить Сервис-Макросы, выбирать вот этот вот и нажимать "Выполнить"

Он, по идее, ещё считает "настоящим абзацем" строку, которая начинается с нескольких пробелов - ну, в дос-текстах часто начальный отступ делают несколькими пробелами.

Sub format_dos_text()

Set myRange = ActiveDocument.Content
myRange.Find.Execute FindText:="^p^p", ReplaceWith:="@", _
Replace:=wdReplaceAll

myRange.Find.Execute FindText:=" -", ReplaceWith:=" " + "^0150", _
Replace:=wdReplaceAll

myRange.Find.Execute FindText:="^p ", ReplaceWith:="~", _
Replace:=wdReplaceAll

myRange.Find.Execute FindText:="^p", ReplaceWith:=" ", _
Replace:=wdReplaceAll

myRange.Find.Execute FindText:="@", ReplaceWith:="^p^p", _
Replace:=wdReplaceAll


myRange.Find.Execute FindText:="~", ReplaceWith:="^p ", _
Replace:=wdReplaceAll

ActiveDocument.Paragraphs.Alignment = wdAlignParagraphJustify

With ActiveDocument
.HyphenationZone = InchesToPoints(0.63)
.HyphenateCaps = True
.AutoHyphenation = True
End With

End Sub

Date: 2006-01-11 10:42 am (UTC)
From: [identity profile] gvozdeff.livejournal.com
У меня помощнее сделано, она еще комментирует выполняемые действия и использует для поиска регулярные выражения. Но текст проги сюда не входит, она больше 4300 символов.

Date: 2006-01-11 10:49 am (UTC)
From: [identity profile] kibirov.livejournal.com
Ого! Что значит серьёзный подход к делу :)