View Single Post
 
Old 07-04-2017, 04:28 PM
Guessed's Avatar
Guessed Guessed is offline Windows 10 Office 2013
Expert
 
Join Date: Mar 2010
Location: Canberra/Melbourne Australia
Posts: 4,176
Guessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant futureGuessed has a brilliant future
Default

I've done some testing and worked out the find/replace doesn't seem possible so I think a macro solution is going to be required.
Code:
Sub RelocateCitations()
  Dim aFld As Field, aRng As Range
  For Each aFld In ActiveDocument.Fields
    If InStr(1, LCase(aFld.Code), "citation") Then
      Set aRng = aFld.Result
      aRng.Collapse wdCollapseStart
      aRng.MoveEnd Unit:=wdCharacter, Count:=-1   'to get in front of CC
      aRng.MoveStart Unit:=wdCharacter, Count:=-2
      If aRng.Text = ". " Then
        aRng.Text = " "
        Set aRng = aFld.Result
        aRng.Collapse wdCollapseEnd
        aRng.MoveStart Unit:=wdCharacter, Count:=2   'to get after CC
        aRng.InsertAfter "."
      End If
    End If
  Next aFld
End Sub
In my version of Word 2016, the citations are all fields inside Content Controls. The CCs add a level of complexity that require extra lines of code to move the ranges. If your document doesn't also have the CCs then you may need to adjust the macro slightly to work.
__________________
Andrew Lockton
Chrysalis Design, Melbourne Australia
Reply With Quote