JetseOffers
Gebruiker
- Lid geworden
- 15 apr 2013
- Berichten
- 5
Wie kan mij helpen.
Ik vond op Excelforum.com onderstaand VBA-code om vanuit Excel een watermerk (picture) in een Word-document te plaatsen.
Ik wil echter een tekst plaatsen.
Wat moet ik veranderen?
Graag het antwoord in tekst en niet in een Excelmacro (veiligheid ;-)
Ik vond op Excelforum.com onderstaand VBA-code om vanuit Excel een watermerk (picture) in een Word-document te plaatsen.
Ik wil echter een tekst plaatsen.
Wat moet ik veranderen?
Graag het antwoord in tekst en niet in een Excelmacro (veiligheid ;-)
Code:
Sub WordSetup(fnTemplate As String, fnBackGroundPic As String)
On Error Resume Next
Dim WordApp As Object, WordDoc As Object
Set WordApp = GetObject(, "Word.Application")
If Err.Number <> 0 Then
'Launch a new instance of Word
Err.Clear
On Error GoTo ErrorHandler
Set WordApp = CreateObject("Word.Application") 'New Word.Application
End If
WordApp.Visible = True
Set WordDoc = WordApp.Documents.Add(fnTemplate)
InsertHeaderLogo WordApp, WordDoc, fnBackGroundPic
Exit_ErrorHandler:
Exit Sub
ErrorHandler:
MsgBox Err.Number & vbCrLf & Err.Description & vbCrLf & vbCrLf & "Calling Proc: WordSetup()", vbOKOnly, "Error"
Resume Exit_ErrorHandler
End Sub
Public Function InsertHeaderLogo(WordApp As Object, WordDoc As Object, fnBackGroundPic As String)
Dim WordLogo As Object
Const wdAlignParagraphCenter As Long = 1
Const wdAlignParagraphJustifyLow As Long = 8
Const wdWrapBehind As Long = 5
Const msoPictureGrayscale As Long = 2
Const msoAlignCenters As Long = 1
Const msoAlignMiddles As Long = 4
If Not fnBackGroundPic = "" Then
With WordDoc.Sections.First.Headers(1)
Set WordLogo = .Shapes.AddPicture(Filename:=fnBackGroundPic, LinkToFile:=False, SaveWithDocument:=True)
With WordLogo
.LockAspectRatio = True
.Width = WordApp.CentimetersToPoints(19)
.WrapFormat.Type = wdWrapBehind
With .PictureFormat
.ColorType = msoPictureGrayscale
.Contrast = 0.4
.Brightness = 0.8
End With
End With
With .Range
With .ParagraphFormat
.Alignment = wdAlignParagraphJustifyLow
.LeftIndent = WordApp.CentimetersToPoints(-1#)
.SpaceBeforeAuto = False
End With
With .ShapeRange
.Align msoAlignCenters, True
.Align msoAlignMiddles, True
End With
End With
End With
End If
End Function
Laatst bewerkt door een moderator: