?

Log in

творчество

kamliv in korrektor_ru

Расстановка сносок

Коллеги, очень нуждаюсь в помощи. Есть большой текст в Word, в котором есть более 500 внутритекстовых сносок с указанием цитируемых источников такого типа: "текст цитаты" {Там же. С.83–84.}
Мне нужно преобразовать их в нормальные постраничные сноски. Нет ли какого-либо способа автоматизировать эту нудную и весьма времязатратную работу? Может, макрос существует подходящий? Поиск не дал нужного варианта.
Заранее благодарю.
Метки:

Comments

Вечером посмотрю, если будет время. Пока напишите, пожалуйста, насколько чётко соблюдена по тексту пунктуация при конструкции, которая приведена Вами в качестве примера.
Спасибо, буду очень рада, если получится и если Вас это не очень затруднит.
Цитаты в подавляющем большинстве случаев выглядят так: «Мы знали и другое, мы знали, что этот тост, произнесённый нами и у нас, отозвался бы иным образом в сердце государя, чем подцензурная риторика допускаемых похвал и отдаваемых в казённые проценты восторгов». {Герцен А.И. 10 апреля 1861 и убийства в Варшаве. Собр. соч. в 9 тт. М.: ГИХЛ. Т. 7. С. 362.}.
Кавычки именно ёлочки, а не лапки.
Так что должно составить тело сноски? То, что в фигурных скобках, должно уйти в сновку, оставив вместо себя номер, так?
Ловите пока вот что. Этот код выносит в постраничные сноски конструкции в фигурных скобках.

Sub MakeFootNotes()
Dim RngSel As Range, RngFnd As Range, StrNote As String
Application.ScreenUpdating = False
With Selection
Set RngSel = .Range
With .Find
.ClearFormatting
.Replacement.ClearFormatting
.MatchWildcards = True
.Wrap = wdFindContinue
.Forward = True
.Text = "\{[!\}\{]{1,}\}"
Do While .Execute = True
Set RngFnd = ActiveDocument.Range(Start:=Selection.Start, End:=Selection.End)
StrNote = Mid(RngFnd.Text, 2, Len(RngFnd.Text) - 2)
ActiveDocument.Footnotes.Add RngFnd, , StrNote
RngFnd.Text = vbNullString
Loop
End With
End With
RngSel.Select
Set RngFnd = Nothing: Set RngSel = Nothing
Application.ScreenUpdating = True
End Sub
Если у Вас в системе русские стандарты, поменяйте в регулярном выражении скобку на точку с запятой.
Спасибо, что продолжили заниматься моей проблемой. И извините, что задерживаюсь с ответом, я не всегда на связи.
Попробовала в первоначальном виде, тем более что не знаю, где нужно поменять скобку на точку с запятой. :)
Выдает ошибку в строке Do While .Execute = True
В строчке .Text = "\{[!\}\{]{1,}\}" замените запятую на точку с запятой.
Я сам не всегда на связи, у нас с Вами разница во времени как минимум часов 7 :)
Кстати, а инициалы в "Герцен А.И." Вы принципиально пишете без отбивки?
Попробовала, но не вышло. Только вот не могу сейчас описать ошибку - в понедельник смогу.
По поводу отбивки - извините, это я из оригинала скопировала, а не из рабочего файла.
Спасибо Вам!
Всё понял, жду Вашего рассказа об ошибке.
Вы волшебник! Спасибо Вам огромное!!!
Сегодня всё получилось с первой же попытки.
Могу я как-то отблагодарить Вас? :)
Рад, что у Вас всё получилось.
Заходите при случае вот сюда:
http://artefact.lib.ru/design/text_index.shtml
И, если найдёте время, опишите свой опыт и пришлите мне для публикации.
Хорошо, я постараюсь написать, хотя пока не знаю как и когда. Но буду думать. :)
Спасибо!!!
Буква_ё

Январь 2017

Вс Пн Вт Ср Чт Пт Сб
1234567
891011121314
15161718192021
22232425262728
293031    

Метки

Разработано LiveJournal.com