Это может оказаться полезным: (Taken from here) Хотя это в 2010 году, это может оказаться полезным для вас.
Sub SetWatermarks()
Dim scn As Word.Section, hdft As Word.HeaderFooter, shp As Word.Shape
With Word.ActiveDocument
For Each scn In .Sections
For Each hdft In scn.Headers
Set shp = hdft.Shapes.AddTextEffect(msoTextEffect2, "Evaluation Only", "Tahoma", 10, False, False, 0, 0)
With shp
.line.Visible = False
With .TextEffect
.NormalizedHeight = False
.FontItalic = False
.FontBold = True
End With
With .Fill
.Visible = True
.Solid
.ForeColor.RGB = 12632256
.Transparency = 0.5
End With
.Rotation = 315
.LockAspectRatio = True
.Height = Word.InchesToPoints(1.96)
.Width = Word.InchesToPoints(7.2)
With .WrapFormat
.AllowOverlap = True
.Side = Word.wdWrapNone
.Type = 3
End With
.RelativeHorizontalPosition = Word.wdRelativeHorizontalPositionMargin
.RelativeVerticalPosition = Word.wdRelativeVerticalPositionMargin
.Left = wdShapeCenter
.top = wdShapeCenter
End With
Next hdft
Next scn
End With
EDIT И только упаковывают вы хотите, чтобы заменить существующие водяные знаки вот еще немного полезного кода, чтобы найти водяные знаки.
Sub FindWaterMark()
Dim doc As Word.Document
Dim scn As Word.Section
Dim shp As Word.Shape
Dim hdft As Word.HeaderFooter
Set doc = Word.ActiveDocument
With doc
For Each scn In .Sections
For Each hdft In scn.Headers
For Each shp In hdft.Range.ShapeRange
If InStr(1, shp.Name, "WordArt") <> 0 Or InStr(1, shp.Name, "Power") <> 0 Then
If shp.TextEffect.Text = "Evaluation Only" Then
Debug.Print shp.Name
End If
End If
Next shp
Next hdft
Next scn
End With
End Sub