![]() |
#1
|
|||
|
|||
![]()
I have added the watermark in all pages of the document by VBA code. The code works fine in simple case but doesn't work well if there is long table across pages.
I have tested it in word2010 and office365, the results are slightly different but both of them are not ideal result in word2010 ![]() result in word o365 ![]() Here is my code: Code:
Sub Macro1() Call WaterMark_All("Remove") Selection.GoTo wdGoToPage, wdGoToAbsolute, 1 Call WaterMark_All("Insert") End Sub Sub WaterMark_All(ByVal actiontype As String) Dim a, i a = ActiveDocument.BuiltInDocumentProperties("Number of Pages") For i = 1 To a If actiontype = "Insert" Then Call InsertWaterMark(i) Else Call RemoveWaterMark(i) End If Next Exit Sub ErrHandler: MsgBox "An error occured trying to insert the watermark." & Chr(13) & _ "Error Number: " & Err.Number & Chr(13) & _ "Decription: " & Err.Description, vbOKOnly + vbCritical, "Error" End Sub Sub InsertWaterMark(ByVal page_num As Integer) If page_num = Selection.Information(wdActiveEndPageNumber) Then ActiveDocument.Shapes.AddTextEffect(msoTextEffect1, _ "DRAFT", "Arial", 1, False, False, 0, 0).Select With Selection.ShapeRange .Name = "Watermark_Page_" & page_num .TextEffect.NormalizedHeight = False .Line.Visible = False With .Fill .Visible = True .Solid .ForeColor.RGB = Gray .Transparency = 0.5 End With .LockAspectRatio = True .Height = InchesToPoints(2.42) .Width = InchesToPoints(6.04) With .WrapFormat .AllowOverlap = True .Side = wdWrapNone .Type = 3 End With .RelativeHorizontalPosition = wdRelativeHorizontalPositionMargin .Left = InchesToPoints(0) .RelativeVerticalPosition = wdRelativeVerticalPositionMargin .Top = InchesToPoints(0) End With Selection.GoToNext What:=wdGoToPage End If Exit Sub ErrHandler: 'MsgBox "Error in Insert Water Mark [Page" & page_num & "]" End Sub Sub RemoveWaterMark(ByVal page_num As Integer) Dim strWMName As String On Error GoTo ErrHandler strWMName = "Watermark_Page_" & page_num ActiveDocument.Shapes(strWMName).Select Selection.Delete Exit Sub ErrHandler: 'MsgBox "Error in Remove Water Mark [Page" & page_num & "]" End Sub ![]() |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Page numbers in different positions | NugentS | Word | 3 | 12-04-2018 01:24 AM |
![]() |
ABCNN | Drawing and Graphics | 2 | 10-27-2017 08:44 AM |
![]() |
Nick B | Word | 4 | 11-21-2016 01:42 AM |
![]() |
Ajay2506 | Word VBA | 2 | 06-16-2016 08:33 PM |
![]() |
treadhead194 | Word | 2 | 04-29-2015 05:25 AM |