Преобразование списков в текст

Уважаемые коллеги! Если вы пользуетесь исходными текстами заявок или самостоятельно производите распознавание, вы, очевидно, сталкивались со списками, нумерованными и ненумерованными. Как известно, нам запрещено сдавать тексты, в которых присутствуют списки. Кроме того, как просит тов. Баженов, следует оставлять нумерацию абзацев, если таковая имеется, которая также, чаще всего, бывает оформлена в виде списка. Для упрощения работы предлагаю макрос, преобразующий любые списки в обычный текст в Ворде с сохранением формата, применяемого в соответствующем списке. Привожу код:

Sub ToText()
Dim d As List
For Each d In ActiveDocument.Lists
d.ConvertNumbersToText
Next
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.text = «^t»
.Replacement.text = » »
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.text = «^p »
.Replacement.text = «^p»
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub

Sub Code()
If Selection.End — Selection.Start = 1 Then MsgBox Asc(Selection.text)
End Sub

Этот код можно вставить в Normal.dot или создать отдельный шаблон и поместить его в автозагрузку Ворда. Если кто не знает, как это сделать, обращайтесь.

Print Friendly, PDF & Email
Website Pin Facebook Twitter Myspace Friendfeed Technorati del.icio.us Digg Google StumbleUpon Premium Responsive

Запись опубликована в рубрике Советы. Добавьте в закладки постоянную ссылку.

Один комментарий на «Преобразование списков в текст»

  1. Роман Бондарев Роман Бондарев говорит:

    Нашел еще один способ, который является стандартной возможностью Word — преобразование полей в текст. У меня попался документ, в котором нумерация абзацев сделана в виде полей, но это не списки, а какой-то код (счётчик, наверное). И макрос Александра не сработал. Но оказывается, что есть такой трюк: выделяем поле (или весь текст с полями), нажимаем CTRL+SHIFT+F9. Поле преобразуется в текст (операция необратима). Опробовано на Word 2003.

Добавить комментарий