約 250 ページのかなり大きな Word 文書があります。Word の参照/引用は使用されていません。文書内の参照は単純なテキストです。
国際自殺予防協会(IASP)の推奨[18、36、202]。しかし、専門家の介入により、特定の自殺予防プログラムが適切に実施され、場合によっては専門家が患者の診断を下すこともある[19、176、177]。
参考文献リストは文書の最後に手動で入力されます。
- Abbas MAF、Abu Zaid LZ、Hussaein M. サウジアラビア王国キングファハド医療都市の看護スタッフの不安と抑うつ。AIMS Medical Science 2015; 2(4): 303–309。
- Ahmed-Little Y. シフト勤務が若手医師に与える影響 BMJ 2007; 334:777–778.
- Ahola K、Honkonen T、Pirkola S、Isometsa E、Kalimo R、Nykyri E 他。フィンランドの労働人口におけるアルコール依存症と燃え尽き症候群の関係 // 著者。ジャーナル編集。依存症研究協会 2006;11:1438 – 1443。
- 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