Hi Paul,
Did you test your method? I didn't and it appears we could both be wrong. It seems that unlike .Range.Text = "Whatever", .Range.InlineShapes.AddPicture is not destructive. The bookmark is not destroyed and the range is expanded to include the inlineshape and previous text. Your .delete just deletes the bookmark leaving the ISL and text intact. My method was no better. Perhaps tjis will meet the OP needs:
Code:
Sub Test()
Dim oRng As Range
With ActiveDocument
If .Bookmarks.Exists("Sig1") = True Then
With .Bookmarks("Sig1")
Set oRng = .Range
oRng.Text = vbNullString
ActiveDocument.Bookmarks.Add "Sig1", oRng
.Range.InlineShapes.AddPicture FileName:="C:\Sig1.png"
.Delete 'Delete the bookmark
End With
ElseIf .Bookmarks.Exists("Sig2") = True Then
With .Bookmarks("Sig2")
Set oRng = .Range
oRng.Text = vbNullString
.Range.Bookmarks.Add "Sig2", oRng
.Range.Text = vbNullString
ActiveDocument.Bookmarks.Add "Sig1", oRng
.Range.InlineShapes.AddPicture FileName:="C:\Sig2.png"
'or keep the bookmark
End With
End If
End With
End Sub