ハードコードされたWordの参考文献リストを変換する

ハードコードされたWordの参考文献リストを変換する

約 250 ページのかなり大きな Word 文書があります。Word の参照/引用は使用されていません。文書内の参照は単純なテキストです。

国際自殺予防協会(IASP)の推奨[18、36、202]。しかし、専門家の介入により、特定の自殺予防プログラムが適切に実施され、場合によっては専門家が患者の診断を下すこともある[19、176、177]。

参考文献リストは文書の最後に手動で入力されます。

  1. Abbas MAF、Abu Zaid LZ、Hussaein M. サウジアラビア王国キングファハド医療都市の看護スタッフの不安と抑うつ。AIMS Medical Science 2015; 2(4): 303–309。
  2. Ahmed-Little Y. シフト勤務が若手医師に与える影響 BMJ 2007; 334:777–778.
  3. Ahola K、Honkonen T、Pirkola S、Isometsa E、Kalimo R、Nykyri E 他。フィンランドの労働人口におけるアルコール依存症と燃え尽き症候群の関係 // 著者。ジャーナル編集。依存症研究協会 2006;11:1438 – 1443。
  4. Ajzen I. 自然と操作態度。心理学年次レビュー2001;52:27–58。

...

250.

適切な参考文献リストを作成するには、エントリを 1 つずつ確認する以外に方法はありますか?

答え1

結局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

関連情報