2

У меня есть документ с большим количеством сносок, но теперь я должен преобразовать эти ссылки в Гарвардскую систему ссылок.

Пример:

Lorem Ipsum Dolor Sit Amet, Concetetur Adipiscing Elit 1. Sed ac purus sem sagittis dignissim.
...
1 Курабитур в Сапиен Феугиат

в:

Lorem ipsum dolor sit amet, concittur adipiscing elit [Curabitur at sapien feugiat]. Sed ac purus sem sagittis dignissim.

Кто-нибудь может мне с этим помочь?

РЕДАКТИРОВАТЬ:
У меня Office 2007 и 2013.

2 ответа2

1

Отлично работает.
Я немного изменил ваш макрос, так что это добавляет содержание сноски в источники библиографии (как заголовок) и вставляет цитату вместо ссылки на сноску.

возможно кто-то будет использовать это:

Sub foot2inline()
Dim oFeets As Footnotes
Dim oFoot As Footnote
Dim oRange As Range
Dim szFootNoteText As String

' Grabs the collection of FootNotes
Set oFeets = Word.ActiveDocument.Footnotes
Dim tagNumber As Integer
tagNumber = 1
' Iterates through each footnote
For Each oFoot In oFeets

    szFootNoteText = oFoot.Range.Text

    'Start search from beginning of document
    Selection.HomeKey Unit:=wdStory
    Selection.Find.ClearFormatting

    With Selection.Find
        .Text = "^f" ' Looks for all footnotes
        .Forward = True
        .Wrap = wdFindStop
    End With

    Selection.Find.Execute
    ' Delete the footnote
    oFoot.Delete

    'Insert the footnote text
    'Here you do whatever format tickles your fancy
    'The only thing you need to keep is the speech marks and 'szFootNotetext'
    'Make sure anything you want to surround the citations is inside speech marks.
    'For example = " (" + szFootNoteText + ") "

    Dim tag As String
    tag = "Tag" + CStr(tagNumber)

    Selection.Fields.Add Selection.Range, _
            wdFieldCitation, tag

    Dim strXml As String
    strXml = _
        "<b:Source xmlns:b=""http://schemas.microsoft.com/" & _
        "office/word/2004/10/bibliography""><b:Tag>" & tag & "</b:Tag>" & _
        "<b:SourceType>Book</b:SourceType><b:Author><b:Author>" & _
        "<b:NameList><b:Person><b:Last>LastName</b:Last>" & _
        "<b:First>FirstName</b:First></b:Person></b:NameList></b:Author>" & _
        "</b:Author><b:Title>" & szFootNoteText & "</b:Title>" & _
        "<b:Year>1996</b:Year><b:City>City</b:City>" & _
        "<b:Publisher>Publisher</b:Publisher>" & _
        "</b:Source>"

    ActiveDocument.Bibliography.Sources.Add (strXml)

    'CHANGE COLOR HERE. Color code is below.
    Selection.Font.Color = 0

    'Disables undo to save memory on very large documents.
    ActiveDocument.UndoClear
    tagNumber = tagNumber + 1
Next
End Sub
0

Этот макрос делает именно то, что вы хотите. Вот как это использовать (со скриншотами внизу)

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

Чтобы настроить это в Office 2013 (по той же ссылке, что и выше, я отредактировал его для Office 2013):

1) Нажмите Alt+F11

2) В верхней части строки меню выберите «Вставка»> «Модуль».

3) В главном окне скопируйте и вставьте ниже макрос

4) В окне свойств переименуйте модуль на любое имя, которое вы хотите, и имя в левом окне, если вы измените имя модуля.

5) Сохраните Normal и закройте редактор

6) Нажмите Alt+F8, выберите макрос и нажмите Run

Макрос (я редактировал, чтобы он работал как в вашем примере). Вы можете изменить код цвета на любой, какой захотите - вам нужно десятичное значение для цвета - по умолчанию он черный:

Sub foot2inline()
Dim oFeets As Footnotes
Dim oFoot As Footnote
Dim oRange As Range
Dim szFootNoteText As String

' Grabs the collection of FootNotes
Set oFeets = Word.ActiveDocument.Footnotes

' Iterates through each footnote
For Each oFoot In oFeets      

    szFootNoteText = oFoot.Range.Text

    'Start search from beginning of document
    Selection.HomeKey Unit:=wdStory
    Selection.Find.ClearFormatting

    With Selection.Find
        .Text = "^f" ' Looks for all footnotes
        .Forward = True
        .Wrap = wdFindStop
    End With

    Selection.Find.Execute
    ' Delete the footnote
    oFoot.Delete

    'Insert the footnote text
    'Here you do whatever format tickles your fancy
    'The only thing you need to keep is the speech marks and 'szFootNotetext'
    'Make sure anything you want to surround the citations is inside speech marks.
    'For example = " (" + szFootNoteText + ") "
    Selection.Text = " [" + szFootNoteText + "] "

    'CHANGE COLOR HERE. Color code is below.
    Selection.Font.Color = 0

    'Disables undo to save memory on very large documents.
    ActiveDocument.UndoClear
Next
End Sub

Скриншоты:

Настройка макроса: Ваш документ со сносками: Используя макрос: Ваш документ с вашей системой ссылок:

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .