Tenho um documento Word bastante grande, com cerca de 250 páginas. Referências/citações de palavras não utilizadas. As referências feitas no documento são de texto simples:
Tarptautinės savižudybių prevencijos asociacijos (angl. Associação Internacional para a Prevenção do Suicídio (IASP) recomendados [18, 36, 202]. Tyrimais nustatyta, jog geresni expertų savižudybių intervencijos įgūdžiai susiję su specifiniais savižudybių mais arba tiesioginiu specialų darbu su savižudiškais pacientais [19, 176, 177].
A lista bibliográfica é inserida manualmente no final do documento.
- Abbas MAF, Abu Zaid LZ, Hussaein M. Ansiedade e Depressão entre Equipes de Enfermagem na King Fahad Medical City, Reino da Arábia Saudita. AIMS Ciências Médicas 2015; 2(4): 303–309.
- Ahmed-Little Y.Implicações do trabalho por turnos para médicos juniores. BMJ 2007; 334:777–778.
- Ahola K, Honkonen T, Pirkola S, Isometsa E, Kalimo R, Nykyri E et al. Dependência do álcool em relação ao esgotamento entre a população trabalhadora finlandesa // Os Autores. Compilação de diário. Sociedade para o Estudo do Dependência 2006;11:1438 – 1443.
- Ajzen I. Natureza e atitudes operacionais. Revisão Anual de Psicologia 2001;52:27–58.
...
250.
Existe uma maneira, exceto ir uma por uma entrada, para criar uma lista bibliográfica adequada?
Responder1
Acabei escrevendo um 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