Option
Explicit
Public
Sub
Example()
Call
CreateExample
Call
MsgBox(
"Vorlagenbeispiel mit Textmarken erstellt."
& vbNewLine & vbNewLine & _
"Mit Klick auf OK wird nun deren Inhalt gesetzt."
, vbInformation)
Call
UpdateBookmark(
"NAME"
,
"Mustermann"
)
Call
UpdateBookmark(
"VORNAME"
,
"Max"
)
Call
UpdateBookmark(
"STRASSE"
,
"Mustermann Weg"
)
Call
UpdateBookmark(
"HAUSNR"
,
"1a"
)
Call
UpdateBookmark(
"PLZ"
,
"01234"
)
Call
UpdateBookmark(
"ORT"
,
"Musterhausen"
)
End
Sub
Public
Function
UpdateBookmark(Bookmark
As
String
, Text
As
String
)
As
Bookmark
Dim
rngBMText
As
Word.Range
On
Error
Resume
Next
Set
rngBMText = ThisDocument.Bookmarks(Bookmark).Range
If
Not
rngBMText
Is
Nothing
Then
rngBMText.Text = Text
Set
UpdateBookmark = rngBMText.Bookmarks.Add(Bookmark)
End
If
End
Function
Private
Sub
CreateExample()
Dim
rngWord
As
Word.Range
Dim
n
As
Long
With
ThisDocument.Content
.Text =
"[Name], [Vorname]"
& vbNewLine & _
"[Straße], [Hausnr]"
& vbNewLine & _
"[PLZ], [Ort]"
& vbNewLine & _
vbNewLine & _
"Blablabub, blub balabla bl."
For
Each
rngWord
In
.Words
Call
rngWord.MoveStart(wdCharacter, -1)
Call
rngWord.MoveEnd(wdCharacter, 1)
Select
Case
rngWord.Text
Case
"[Name]"
:
Call
rngWord.Bookmarks.Add(
"NAME"
)
Case
"[Vorname]"
:
Call
rngWord.Bookmarks.Add(
"VORNAME"
)
Case
"]Straße]"
:
Call
rngWord.Bookmarks.Add(
"STRASSE"
)
Case
"[Hausnr]"
:
Call
rngWord.Bookmarks.Add(
"HAUSNR"
)
Case
"[PLZ]"
:
Call
rngWord.Bookmarks.Add(
"PLZ"
)
Case
"[Ort]"
:
Call
rngWord.Bookmarks.Add(
"ORT"
)
End
Select
Next
End
With
End
Sub