StanFreeWare
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Пример подготовки в MS Word к вставке в Djvu Bookmarker сложных оглавлений в том числе и с номерами страниц, обрамленных скобками Работаем на следующем примере (он еще сложнее, чем типовые подобные оглавления): djvu (11 Мб): http://www.onlinedisk.ru/file/291252/ zipped doc (20 Кб) http://www.onlinedisk.ru/file/296396/ ' удалил все переносы строк Replace "^p", "" ' заменил длинный дефис переносом строк Replace "^+", "^p" ' добавил перенос строк после закрывающихся скобок Replace ")", ")^p" ' удалил сокращения страница, страницы Replace "(pp.", "" Replace " p. ", " " ' удалил лишние пробелы For i = 1 To 4 Replace " ", " " Next ' удалил запятые перед нумерацией For i = 1 To 9 Replace ", " & i, " " & i Next ' выделил главы в отдельную строку Replace "Chapter", "^pChapter" ' удалил вторую часть диапазонов страниц в конце строки Replace "-^#^#^#)^p", "^p" Replace "-^#^#)^p", "^p" Replace "-^#^#^#^p", "^p" Replace "-^#^#^p", "^p" Разумеется, Replace в данном случае означает возможность как ручной замены с помощью соответствующей команды Word, так и возможность автоматической замены, если Replace - это функция VBA, например такая: Sub Replace(what As String, than As String) Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = what .Replacement.Text = than .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 |