1

Тема: Нужен Макрос. Оплачу

Есть текстовые файлы.
Необходимо автоматизировать ручной труд.

1. Форматирование
    а. Необходимо Построчное деление информации - после контактных телефонов должен быть разделитель строк (разрыв строки), а дальше текст, чаще всего это адрес-улица (иногда название улиц начинается с цифр)
    б. Удалить разделитель строк (разрыв строки) после строки, в которой отсутствует номер телефона(почти всегда строка заканчивается номером телефона)
    в. Удалить пустую строку
    г. Удалить с заменой на пробел TAB(табуляцию)
    д. Удалить отступ в начале строки
    е. Заменить два и три пробела на один
   
2. Удалить одной командой символы, знаки, повторяющиеся слова, фразы.
    а. символы и знаки:
_ > < ? ! ¬ * ¦  | ▲ ┘ ♦ ● □ ■ © ® Θ  …  ..  #  ^  ¤
работая в блокноте, в формате ANSI, знаки выглядят вот так
_ > < ? ! ¬ * ¦  | ^ - ¦ ? ? ¦ (c) (r) ?  ...  ..  #  ^  ¤
    б. фразы: "Советский район", "продам срочно", ...
    в. слова: "Реклама", ...

Примечание: удаляемые фразы и слова могут меняться и дополняться, поэтому желателен интерфейс упрощающий внесение дополнений и изменений;
или подробнейшая инструкция
Детально обсудить можно в письме aks.doma@yandex.ru

Post's attachments

Примеры необходимых исправлений.doc 24.5 Кб, 7 скачиваний с 2011-01-09 

You don't have the permssions to download the attachments of this post.

2

Re: Нужен Макрос. Оплачу

помогите !!! пожалуйста ))).
советом или делом

3

Re: Нужен Макрос. Оплачу

если очень умно, то регулярные выражения, но там зделаешь даже сам, через месяц можно не понять что на что меняешь, а если тупо, то так:

Dim Искомое_слово(234) As String
Dim Слово_для_замены(234) As String

Искомое_слово(1) = "без г \ н": Слово_для_замены(1) = "без государственного регист-рационного знака"
Искомое_слово(2) = "без г\н": Слово_для_замены(2) = "без государственного регистра-ционного знака"
….. до 234
For i = 1 To 234
With ActiveDocument.Bookmarks("Фабула0").Range.Find 'поиск в определённом месте, в содержимом закладки, начинаем поиск
'задаем условия поиска, это стандартная процедура
.Text = Искомое_слово(i) 'искомое слово
.Replacement.Text = Слово_для_замены(i) 'слово для замены ...
.Replacement.Font.Color = wdColorPink 'цвет ... слова для замены
.Execute Replace:=wdReplaceAll, MatchCase:=True 'MatchCase:=True требуется для того, чтобы заменялись слова согласно указанных замен и регистр заменённых слов был верным
End With
Next

Хоть и тупо, но Ваш лист, два обработает быстро
Зато сами себе хозяин, всё видно что на что заменять, в данном случае можете дописывать 234 замены