Option
Explicit
Public
Sub
AlterBookmark(
ByVal
Name
As
String
,
ByVal
Expression
As
Variant
,
Optional
ByVal
Document
As
Word.Document)
If
Document
Is
Nothing
Then
Set
Document = ActiveDocument
If
Not
Document.Bookmarks.Exists(Name)
Then
Err.Raise 5&,
"AlterBookmark"
Else
Dim
rng
As
Word.Range
Set
rng = Document.Bookmarks(Name).Range
If
IsObject(Expression)
Then
If
TypeOf
Expression
Is
Excel.Range
Then
Call
Expression.Copy
Call
rng.PasteExcelTable(
False
,
False
,
False
)
Application.CutCopyMode =
False
Else
rng.Text =
CStr
(Expression)
End
If
Else
rng.Text =
CStr
(Expression)
End
If
Call
Document.Bookmarks.Add(Name, rng)
End
If
End
Sub