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

За коригирането на текстове след сканиране
Правила
Уважавайте другите участници и се отнасяйте с тях така, както бихте желали те да се отнасят с вас!
Отговор
Аватар
piligrim
Мнения: 55
Регистрация: 18 април 2007, 22:32
Местонахождение: Русе

Мнение от piligrim »

Бихте ли пробвали този макрос за намиране и премахване на прекъснати параграфи? Сега вече би трябвало да работи..!

Създавате нов макрос във Word. Отваряте го в режим редактиране и copy/paste от *.txt файла в архива. ВНИМАНИЕ!!! Клавиатурата Ви трябва да бъде превключена на кирилица!

http://piligrim.data.bg/CutParagraphRemove%20MACRO.zip

ВНИМАНИЕ!!! Преди да се активира макроса трябва да бъдат поставени табулациите пред параграфите!!!
Mandor
Мнения: 752
Регистрация: 19 август 2006, 10:56
Връзка:

Мнение от Mandor »

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.
Аватар
Boman
Мнения: 89
Регистрация: 03 февруари 2007, 08:24

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

Мнение от Boman »

Търсете ^$^p. Обикновено е слепено началото на абзаца с предишния и е прекъснат някъде в средата. Всичко друго майката му е в четенето. :lol:
Закон на Мърфи: ако мнението ми във форума може да бъде разбрано погрешно, то това ще стане!
Аватар
piligrim
Мнения: 55
Регистрация: 18 април 2007, 22:32
Местонахождение: Русе

Мнение от piligrim »

Mandor

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

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

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

Много ми допада идеята за секция "МАКРОСИ"! Мисля, че има хляб в нея! Макар и използването им да е обусловено от известни условности...
Mandor
Мнения: 752
Регистрация: 19 август 2006, 10:56
Връзка:

Мнение от Mandor »

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

Мнение от piligrim »

Mandor

Е неще и неще! Пробвах го и в текстовия и в "оригиналния" Word файл. "^p" си е както трябва... Нямам идея!
Word-а изкарва съобщение, че всичко е претърсил и нищо не е намерил, а ш...те прекъсвания си седят още там...
Същото става и при търсенето на прилепени тирета. "Бабешкия" вариант работи - другия не!
Създадох чисто новичък Word файл от няколко реда с прекъснат параграф... И пак неще!
Mandor
Мнения: 752
Регистрация: 19 август 2006, 10:56
Връзка:

Мнение от Mandor »

Току-що го изпробвах с "чисто нов word-овски файл" - работи си.
Аватар
piligrim
Мнения: 55
Регистрация: 18 април 2007, 22:32
Местонахождение: Русе

Мнение от piligrim »

Ура! И при мен сработи... Ама на втория път??? Случайно го стартирах два пъти последователно... и стана?!
Хм! Обаче нямам никаква идея защо..?!
Но поне разбрах защо стрия ми макрос не е сработил! Нахакал съм "^p" вместо "^013".. :oops:
А в текстовия файл наистина трябва да се направи замяната на "^013" с "^p"
Отговор

Обратно към

Кой е на линия

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