Hallo!
Ich würde gerne eine Briefvorlage erstellen. Beim öffnen der Wordvorlage soll es eine Auswahlmöglichkeiten geben, bestimmte Textvorlagen (aus einer Exceldatei)auszuwählen. Diese sollen dann in die vorgegeben Textmarken eingefügt werden.
Sub doc_aus_Template()
Dim m_objWDApp, m_objWDDoc As Object
Dim m_strTemplateFile, strBMName, strBMText As String
m_strTemplateFile = Application.GetOpenFilename("Template (*.dot) , *.DOT")
Set m_objWDApp = CreateObject("Word.Application")
m_objWDApp.Visible = True
Set m_objWDDoc = m_objWDApp.Documents.Add( _
Template:=m_strTemplateFile, NewTemplate:=False)
strBMName = "Grund"
strBMText = Range("A1")
Call AddTextToBookmarks(m_objWDDoc, strBMName, _
strBMText)
strBMName = "Abschluss"
strBMText = Range("A2")
Call AddTextToBookmarks(m_objWDDoc, strBMName, _
strBMText)
Set m_objWDApp = Nothing
Set m_objWDDoc = Nothing
End Sub
Sub AddTextToBookmarks(ByRef m_objWDDoc As Object, ByVal strBMName As String, _
ByVal strBMText As String)
'Range-Objekt, hier Textmarken-Bereiche
Dim objBMRange As Object
With m_objWDDoc
'Wenn die Textmarke existiert...
If .Bookmarks.Exists(strBMName) Then
'Verweis auf den Textmarken-Bereich setzen
Set objBMRange = .Bookmarks(strBMName).Range
'Text zuweisen
objBMRange.Text = strBMText
'Textmarke neu definieren
.Bookmarks.Add Name:=strBMName, Range:=objBMRange
'Verweis freigeben
Set objBMRange = Nothing
End If
End With
End Sub
Nur leider klappt das nicht. Jemand eine Idee? Ich habe insgesamt 5 Textmarken und jeweils dazu unterschiedliche Möglichkeiten in Excel hinterlegt. |