1

I have quite big word document ~250 pages. Word References/Citations not used. References made in document are simple text:

Tarptautinės savižudybių prevencijos asociacijos (angl. International Association for Suicide Prevention (IASP) rekomendacijas [18, 36, 202]. Tyrimais nustatyta, jog geresni specialistų savižudybių intervencijos įgūdžiai susiję su specifiniais savižudybių mokymais arba tiesioginiu specialistų darbu su savižudiškais pacientais [19, 176, 177].`

Bibliography list is entered by hand at the end of document.

  1. Abbas M.A.F, Abu Zaid LZ, Hussaein M. Anxiety and Depression among Nursing Staff at King Fahad Medical City, Kingdom of Saudi Arabia. AIMS Medical Science 2015; 2(4): 303–309.
  2. Ahmed-Little Y.Implications of shift work for junior doctors. BMJ 2007; 334:777–778.
  3. Ahola K, Honkonen T, Pirkola S, Isometsa E, Kalimo R, Nykyri E et al. Alcohol dependence in relation to burnout among the Finnish working population // The Authors. Journal compilation. Society for the Study of Addiction 2006;11:1438 – 1443.
  4. Ajzen I. Nature and Operation Attitudes. Annual Review of Psychology 2001;52:27–58.

...

250.

Is there a way except going one by one entry, to create proper bibliography list?

  • There could be. One could write a Microsoft Windows Visual Basic for Applications Macro. However, I do not see it as a Trivial Issue. – DOBRESCU_Mihai Oct 17 at 12:37
0

Ended up writing VB script

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.