Макрос за премахване на разкъсани параграфи в Word

За коригирането на текстове след сканиране

Мнениеот piligrim » 10 ноември 2008, 11:27

Бихте ли пробвали този макрос за намиране и премахване на прекъснати параграфи? Сега вече би трябвало да работи..!
Създавате нов макрос във Word. Отваряте го в режим редактиране и copy/paste от *.txt файла в архива. ВНИМАНИЕ!!! Клавиатурата Ви трябва да бъде превключена на кирилица!
http://piligrim.data.bg/CutParagraphRemove%20MACRO.zip
ВНИМАНИЕ!!! Преди да се активира макроса трябва да бъдат поставени табулациите пред параграфите!!!
Аватар
piligrim
 
Мнения: 55
Регистрация: 18 април 2007, 22:32
Местонахождение: Русе

Мнениеот Mandor » 10 ноември 2008, 11:57

piligrim
(Примерите ги пиша наизуст, така че не гарантирам за коректността.)
Първо - икономията. Не е нужно да изписваш всички варианти на азбуката; можеш да се ограничиш с нещо такова:
Код: Избиране на всичко
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "^013^t([а-я])"
        .Replacement.Text = " \1"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = True ' Не важи при MatchWildcards = True
        .MatchWholeWord = False
        .MatchWildcards = True
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll


Второ, този макрос покрива само един от вариантите за разкъсан текст. Някои от другите варианти можеш да видиш в т.8 на темата Съвети за начална редакция след сканиране, но дори и те не покриват всички възможности.

И трето - автоматичната замяна е абсолютно некоректна: 1) по този начин ще залепиш отделните строфи в стихотворение; 2) ако параграф започва с малко "ф" (често срещана грешка във FineReader), ще залепиш неправилно този параграф за предишния; 3) ще залепи някои иначе коректни изречения като:
Скъпи татко,
пиша ти...
да не говорим за много от произведенията на Стивън Кинг, в които има параграфи, започващи с малка буква.

Така че ти препоръчвам или да промениш ".Wrap = wdFindAsk" и да потвърждаваш само коректните предложения за замяна, или да изключиш замяната и да оставиш макроса само да посочва съмнителните места.
Последната и единствена промяна е направена от Mandor на 11 ноември 2008, 10:34.
Аватар
Mandor
 
Мнения: 728
Регистрация: 19 август 2006, 10:56

Разкъсани абзаци

Мнениеот Boman » 10 ноември 2008, 17:00

Търсете ^$^p. Обикновено е слепено началото на абзаца с предишния и е прекъснат някъде в средата. Всичко друго майката му е в четенето. :lol:
Закон на Мърфи: ако мнението ми във форума може да бъде разбрано погрешно, то това ще стане!
Аватар
Boman
 
Мнения: 89
Регистрация: 03 февруари 2007, 08:24

Мнениеот piligrim » 10 ноември 2008, 18:50

Mandor

Съжалявам, но поне при мен твоя вариант не пожела да сработи. Първоначално и аз опитах да сътворя по-кратичък, макрос но както вече писах - отиде в коша... "Бабешкия", неикономичен подход засега се представи най-добре! И да! Съгласен съм, че автоматичната замяна е разумно да бъде изключена!

Относно останалите забележки... си абсолютно прав! Но в някои случаи все пак е приложим.

Аз лично отделям много голямо внимание на дигитализацията (пести доста време след това). Използвам висококачествен цифров фотоапарат, осветление и т.н. Размера на една снимка е около 6 МВ... FineReader ми дава средно до 2-3 "съмнения" на страница, а много по-рядко грешка. Основно проблемите идват от качеството с което е отпечатана книгата - разни артефакти, зацапвания и т.н. А, да - и многоточията. При мен поне 8-та най-много там се дъни.

Много ми допада идеята за секция "МАКРОСИ"! Мисля, че има хляб в нея! Макар и използването им да е обусловено от известни условности...
Аватар
piligrim
 
Мнения: 55
Регистрация: 18 април 2007, 22:32
Местонахождение: Русе

Мнениеот Mandor » 11 ноември 2008, 09:24

piligrim
Най-вероятната причина за "несработването" е следната:
В Word има един досаден бъг, заради който след отваряне на текстов файл не всички поредици за край на ред (CR-LF) се разпознават като край на параграф, въпреки че се изобразяват като такива (при включено "показвай скрития текст"). Като средство за заобикаляне на проблема се препоръчва веднага след отваряне на файла да се направи замяна на "^013" с "^p" (а ако файлът е unix-овски - и "^010" с "^p").
Опитай го - може това да е причината.
Аватар
Mandor
 
Мнения: 728
Регистрация: 19 август 2006, 10:56

Мнениеот piligrim » 11 ноември 2008, 10:16

Mandor

Е неще и неще! Пробвах го и в текстовия и в "оригиналния" Word файл. "^p" си е както трябва... Нямам идея!
Word-а изкарва съобщение, че всичко е претърсил и нищо не е намерил, а ш...те прекъсвания си седят още там...
Същото става и при търсенето на прилепени тирета. "Бабешкия" вариант работи - другия не!
Създадох чисто новичък Word файл от няколко реда с прекъснат параграф... И пак неще!
Аватар
piligrim
 
Мнения: 55
Регистрация: 18 април 2007, 22:32
Местонахождение: Русе

Мнениеот Mandor » 11 ноември 2008, 10:33

Току-що го изпробвах с "чисто нов word-овски файл" - работи си.
Аватар
Mandor
 
Мнения: 728
Регистрация: 19 август 2006, 10:56

Мнениеот piligrim » 11 ноември 2008, 12:12

Ура! И при мен сработи... Ама на втория път??? Случайно го стартирах два пъти последователно... и стана?!
Хм! Обаче нямам никаква идея защо..?!
Но поне разбрах защо стрия ми макрос не е сработил! Нахакал съм "^p" вместо "^013".. :oops:
А в текстовия файл наистина трябва да се направи замяната на "^013" с "^p"
Аватар
piligrim
 
Мнения: 55
Регистрация: 18 април 2007, 22:32
Местонахождение: Русе


Обратно към Корекция

Кой е на линия

Потребители, разглеждащи форума: Николко регистрирани потребители и един гост