Given that it's possible for the links to exist in something other than fields, try:
Code:
Sub Update_Links()
'
' Update_Link Macro
'
Dim Rng As Range, i As Long, vItem As Variant
'
'Display File Picker Dialog
With Application.FileDialog(FileDialogType:=msoFileDialogFilePicker)
' use Show method to dispaly File Picker dialog box and return user's action
If .Show = -1 Then
'step throug each string in the FileDialogSelectedItems collection
vItem = .SelectedItems(1)
Else
Exit Sub
End If
End With
'
'update fields
'
Application.ScreenUpdating = False
With ActiveDocument
For Each Rng In .StoryRanges
With Rng
For i = .Fields.Count To 1 Step -1
If .Fields(i).Type = wdFieldLink Then .Fields(i).LinkFormat.SourceFullName = vItem
Next
For i = .ShapeRange.Count To 1 Step -1
If Not .ShapeRange(i).LinkFormat Is Nothing Then .ShapeRange(i).LinkFormat.SourceFullName = vItem
Next
For i = .InlineShapes.Count To 1 Step -1
If Not InlineShapes(i).LinkFormat Is Nothing Then InlineShapes(i).LinkFormat.SourceFullName = vItem
Next
End With
Next
End With
'
Application.ScreenUpdating = True
MsgBox "Done!"
End Sub
PS: When posting code, please use the code tags, indicated by the # button on the posting menu.