1

Тема: Как сохранить сноски на том же месте при конвертации из word в txt?

Нужно, чтобы сноски остались именно в том месте текста, к которому они относятся, а не перенеслись всем скопом в конец документа. Пока не нашел способа, как это сделать, хотя такой способ, очевидно, существует. Попадались в Интернете текстовые документы, в которых сноски взяты в фигурные скобки <> и приводятся сразу за тем местом, к которому они относятся. Пока что при сохранении документа Word как обычный текст все сноски оказываются в конце документа, что не есть удобно.
Заранее спасибо!

2

Re: Как сохранить сноски на том же месте при конвертации из word в txt?

примерно так

Post's attachments

сноски.docx 21.03 Кб, 7 скачиваний с 2013-04-06 

You don't have the permssions to download the attachments of this post.

3

Re: Как сохранить сноски на том же месте при конвертации из word в txt?

О, спасибо огромное! Получилось.
Правда, не во всех документах. Обнаружилось, что если сноска нумеруется как 1, 2, 3 и так далее, то все работает. А вот если сноски обозначены как Note1, Note 2..., то они после применения макроса совсем исчезают из текста. Остается только номер, а самой сноски нет ни в тексте, ни в конце документа. Ладно, попробую разобраться.
Если кто подскажет, в чем тут дело, буду очень благодарен.

4

Re: Как сохранить сноски на том же месте при конвертации из word в txt?

А вот если сноски обозначены как Note1, Note 2

не встречалась с такими
пришлите кусочек ради интереса.может и найду решение

shanemac51@yandex.ru

5

Re: Как сохранить сноски на том же месте при конвертации из word в txt?

вариант 2

Sub w130405_ref_2()
''в первом приближении
''в комментах--отладка
Dim pr As Paragraph, s1, s2, s3, s4, j1, j2
Open "c:\rab\00.txt" For Output As #1
For Each pr In Word.ActiveDocument.Paragraphs
pr.Range.Select
j1k = Selection.Footnotes.Count
s1 = Selection.Range.Text

If j1k > 0 Then
'Debug.Print "=========="; j1k
'Debug.Print Asc(s1), s1
j1 = 0

Do While j1 < j1k

j1 = j1 + 1
'Selection.Footnotes(j1).Reference.Font.ColorIndex = wdRed

s2 = "{" & Selection.Footnotes(j1).Range.Text & "}"
'Debug.Print s1
s4 = Selection.Footnotes(j1).Reference.Text
'Debug.Print Asc(s4), s4, s2
'Debug.Print s2
'Chr(2)
s3 = Replace(s1, s4, s2, , 1)
s1 = s3
Loop
'Debug.Print
'Debug.Print s1
'j1 = j1 + 0
End If
Print #1, s1

Next pr
Close #1
End Sub

6

Re: Как сохранить сноски на том же месте при конвертации из word в txt?

2 shanemac51:
Спасибо! Теперь и такие сноски ваш скрипт забарывает. smile
Я бы на Вашем месте статью написал и на каком-нибудь тематическом ресурсе выложил.
Как говорится, "сделали большое полезное дело".
Я книги на своей читалке предпочитаю в формате txt читать (быстрее грузятся, чем fb2), так что раньше мне приходилось два файла делать - один для текста, другой - для сносок, и во время чтения перескакивать туда-сюда. Представляете, насколько это доставало, когда попадалась книга с большим количеством сносок! А если в книге были не только сноски, но и примечания, то приходилось делать 3 файла! В общем, пишите статью и получайте респекты, как новый благодетель владельцев электронных книг.
Еще раз спасибо!