Статьи из блога

Статьи из блога

Преобразование надстрочных символов в сноски

Наталья работает с отсканированными книгами, в которых вместо обычных сносок стоят верхние надстрочные индексы (1, 2, 3 и т.д.).

Наталье необходимо преобразовать все эти псевдосноски в полноценные сноски.

 

Следующий макрос решает эту задачу:

Sub Superscript2Footnote() 
'замена надстрочных символов на сноски
'помощь Steven M.
'http://groups.google.com/group/microsoft.public.word.vba.general/
Dim oRange As Range 
Dim fn As Footnote 
Set oRange = ActiveDocument.Range 
With oRange.Find 
  .ClearFormatting 
  .Forward = True 
  .Format = True 
  .Wrap = wdFindStop 
  .Font.Superscript = True 
  .Execute 
   While .Found 
    oRange.Delete 
    Set fn = ActiveDocument.Footnotes.Add(oRange) 
    oRange.Move wdWord, 1 
    .Execute 
   Wend 
End With 
End Sub

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru rutvit.ru myspace.com technorati.com digg.com friendfeed.com pikabu.ru blogger.com liveinternet.ru livejournal.ru memori.ru google.com bobrdobr.ru mister-wong.ru yahoo.com yandex.ru del.icio.us

Еще записи по вопросам использования Microsoft Word:

Комментариев: 4

  1. sv62
    24.10.2008 в 08:14 | #1

    Благодарю за очень нужный сайт. Часто обращаюсь сюда за помощью.

    Вопросы по Sub Superscript2Footnote()(преобразование надстрочных символов):

    1. нумерация получается буквами, а не цифрами

    2. текст сносок удален полностью, остались только знаки сносок

  2. 24.10.2008 в 10:30 | #2

    По первому требованию - причина в том, что у вас настроен формат сносок как буквы. Измените это (меню Вставка - Ссылки - Сноска - выберите формат как числа и нажмите кнопку Применить).

    По второму требованию - этот макрос и не претендует на то, чтобы самостоятельно вставлять текст в сноски. Это делает пользователь. Предполагается, что текст сносок есть где-то в тексте, а не в области сносок, так как иначе у вас должны быть именно сноски, а не надстрочные символы. Проверьте свои сноски.

  3. Денис
    24.07.2009 в 11:37 | #3

    Здравствуйте!

    Мне нужно либо удалить разделительную черту из обычной сноски, либо сделать эту черту на ширину печатной полосы? Подскажите, пожалуйста, как можно это сделать.

    Пробовал даже залезть в сценарии, но я не знаю, какой тег отвечает за разделительную черту. Возможно, сценарии - это неправильный путь.

    С уважением, Денис.

  4. Вождь
    04.01.2010 в 21:06 | #4

    Ответ на сообщение: 2009-07-24 в 11:37:40 | Денис (анонимно)

    Ищите в справке Word текст «Разделитель сноски».

    Для перехода к редактированию разделителя сноски можно использовать макрос:

    Sub Разделитель_сноски
    ActiveDocument.StoryRanges(Word.wdFootnoteSeparatorStory).Select
    End Sub

Оставьте комментарий!

(обязательно)

^ Наверх