convertir lista de bibliografía de Word codificada de forma rígida

convertir lista de bibliografía de Word codificada de forma rígida

Tengo un documento de Word bastante grande, ~ 250 páginas. Referencias verbales/citas no utilizadas. Las referencias hechas en el documento son texto simple:

Tarptautinės savižudybių prevencijos asociacijos (angl. Asociación Internacional para la Prevención del Suicidio (IASP) rekomendacijas [18, 36, 202]. Tyrimais nustatyta, jog geresni Specialistų savižudybių intervencijos įgūdžiai susiję su specifiniais savižudybių mokymais tiesioginiu especialistaų darbu su savižudiškais pacientais [19, 176, 177].`

La lista de bibliografía se ingresa a mano al final del documento.

  1. Abbas MAF, Abu Zaid LZ, Hussaein M. Ansiedad y depresión entre el personal de enfermería de King Fahad Medical City, Reino de Arabia Saudita. AIMS Ciencias Médicas 2015; 2(4): 303–309.
  2. Ahmed-Little Y. Implicaciones del trabajo por turnos para los médicos jóvenes. BMJ 2007; 334:777–778.
  3. Ahola K, Honkonen T, Pirkola S, Isometsa E, Kalimo R, Nykyri E et al. Dependencia del alcohol en relación con el agotamiento entre la población trabajadora finlandesa // Los autores. Compilación de revistas. Sociedad para el Estudio de las Adicciones 2006;11:1438 – 1443.
  4. Ajzen I. Naturaleza y actitudes operativas. Revisión anual de psicología 2001;52:27–58.

...

250.

¿Hay alguna forma, además de ir una por una, para crear una lista de bibliografía adecuada?

Respuesta1

Terminé escribiendo script VB

Sub ChangeText()


    Dim cDoc As Word.Document
    Dim cRng As Word.Range
    Set cDoc = ActiveDocument
    Set cRng = cDoc.Content
    cRng.Find.ClearFormatting

    'Dim dic As Dictionary
    'Set dic = New Dictionary

    Dim c As Object
    Set c = CreateObject("Scripting.Dictionary")
    c.Add "x1", "1"
    c.Add "x2", "62"
    c.Add "x3", "2"

With cRng.Find
    .Forward = True
    .Text = "["
    .Wrap = wdFindStop
    .Execute
    Do While .Found

        cRng.Collapse Word.WdCollapseDirection.wdCollapseEnd
        cRng.MoveEndUntil Cset:="]", Count:=Word.wdForward

        Dim TextStr As String
        Dim Result() As String
        TextStr = cRng.FormattedText.Text
        Result() = Split(TextStr, ",")
        For i = LBound(Result()) To UBound(Result())
                Dim temp As String
                temp = CStr(LTrim(Result(i)))
                Result(i) = c(temp)
        Next i
        Debug.Print "before: " & cRng.FormattedText.Text

        cRng.FormattedText.Text = Join(Result, ", ")
        Debug.Print "after:" & cRng.FormattedText.Text
        cRng.Collapse Word.WdCollapseDirection.wdCollapseEnd
        .Execute
    Loop
End With        
End Sub

información relacionada