#1
|
|||
|
|||
Word Macro - Rotation Issue with Textbox
[I am trying to write a macro to insert a custom watermark in my Word document.
The code works perfectly for the first two pages of the document but thereafter the the Textbox does not rotate to -45 as mentioned in the code What am I doing wrong? Code:
Sub CustomWatermark() Dim activeDoc As Document Dim rngDoc As Range Dim shpTextBox As Shape Dim lngPages As Long Dim i As Long Dim strWatermark As String Set activeDoc = ActiveDocument lngPages = activeDoc.Range.Information(wdNumberOfPagesInDocument) strWatermark = InputBox("Enter Watermark") With activeDoc For i = 1 To lngPages Set rngDoc = .GoTo(What:=wdGoToPage, Name:=i) rngDoc.Collapse wdCollapseStart Set shpTextBox = .Shapes.AddTextbox(Orientation:=msoTextOrientationHorizontal, _ Left:=InchesToPoints(1), _ Top:=InchesToPoints(4), _ Width:=InchesToPoints(6), _ Height:=InchesToPoints(2), _ Anchor:=rngDoc) With shpTextBox .Line.Visible = msoFalse .Rotation = -45 .WrapFormat.Type = wdWrapBehind .TextFrame.HorizontalAnchor = msoAnchorCenter .TextFrame.VerticalAnchor = msoAnchorMiddle With .TextFrame.TextRange .Font.AllCaps = True .Font.Size = "60" .Font.ColorIndex = wdGray25 .ParagraphFormat.Alignment = wdAlignParagraphCenter .Text = strWatermark End With End With Next End With End Sub |
#2
|
|||
|
|||
I don't see anything wrong. When I tested with three pages, it worked fine. However, with five pages, sometimes first two pages were rotated and sometimes only pages after the first two were rotated.
Why don't you put the watermarks in the header: Code:
Sub CustomWatermark() Dim oDoc As Document Dim oRng As Range Dim oShp As Shape Dim i As Long Dim strWatermark As String Set oDoc = ActiveDocument strWatermark = InputBox("Enter Watermark") For i = 1 To 3 Set oRng = oDoct.Sections(1).Headers(i).Range oRng.Collapse wdCollapseStart Set oShp = oDoc.Shapes.AddTextbox(Orientation:=msoTextOrientationHorizontal, _ Left:=InchesToPoints(1), _ Top:=InchesToPoints(4), _ Width:=InchesToPoints(6), _ Height:=InchesToPoints(2), _ Anchor:=oRng) With oShp .Line.Visible = msoFalse .Rotation = -45 .WrapFormat.Type = wdWrapBehind .TextFrame.HorizontalAnchor = msoAnchorCenter .TextFrame.VerticalAnchor = msoAnchorMiddle With .TextFrame.TextRange .Font.AllCaps = True .Font.Size = "60" .Font.ColorIndex = wdGray25 .ParagraphFormat.Alignment = wdAlignParagraphCenter .Text = strWatermark End With End With Next lbl_Exit: Exit Sub End Sub |
#3
|
|||
|
|||
Thank you
This works perfectly and thank you
However, not clear why the .rotation = -45 does not work for two pages onwards in my code. |
#4
|
|||
|
|||
You and me both. Like I said, using your code it did work with three pages but when I tested with five, sometimes pages 1 and 2 ended up straight while 3-5 were rotated and sometimes pages 1 and 2 were rotated and 3-5 were straight. An oddity with Word I guess.
|
#5
|
|||
|
|||
Thank you again
Thanx Greg ... I shall be using your code for my macro.
|
#6
|
|||
|
|||
(sorry, this reply does not apply to the topic)
__________________
Backup your original file before doing any modification. |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Word Template/Macro/QAT toolbar issue ! | monkeybradders | Word | 1 | 09-13-2019 01:29 PM |
issue with highlight macro word 2010 | jamesnavoy | Word VBA | 2 | 01-29-2017 08:32 AM |
Macro/VBA code to select ALL text in a textbox in microsoft excel and add a new row | jyfuller | Excel Programming | 11 | 06-01-2015 08:49 PM |
Macro to change the layout/positioning of a textbox | Catty | Word VBA | 1 | 09-11-2014 04:07 PM |
textbox color issue | Dave Duncan | Word | 0 | 08-07-2011 10:38 AM |