Aus Access word aufrufen und abspeichern, prüfung

Hallo,
vielleicht kann jemand mal über meinen Code schauen.

Es soll aus Access ein Worddokument aufgerufen werden, und mit der Schadensnummer abgespeichert werden.
Wenn das Formular schon vorhanden ist, dann klappt es.
Zuerst soll aber abgefragt werden, ob das Dokument mit der Schadensnummer schon vorhanden ist.
Zu jedem Schaden kann ein Dokument (nur eins) angelegt werden, hier werden Interne Vermerke geschrieben.
Gruss Nagel

Private Sub Interne_Vermerke_Click()
'On Error GoTo handleErr

Dim Interne_Vermerke As String
'Dim strPfad As String
Dim objWord As Word.Application
Interne_Vermerke = „Interne Vermerke:“
'strPfad = „D:\Ablage\Intern“ & Jahr & „-“ & SchadenNr & „.doc“

If Dir(„D:\Ablage\Intern“ & VarSchadenNr) = „“ Then
Documents.Open „D:\Ablage\Intern“ & Jahr & „-“ & SchadenNr & „.doc“
Else
End If

Set objWord = CreateObject(„Word.Application“)
With objWord
.Visible = True
'Documents.SaveAs „D:\Ablage\Intern“ & Jahr & „-“ & SchadenNr & „.doc“
.ActiveDocument.Bookmarks(„Jahr“).Select
.Selection.Text = (CStr(Form!Jahr))
.ActiveDocument.Bookmarks(„SchadenNr“).Select
.Selection.Text = (CStr(Form!SchadenNr))
.ActiveDocument.Bookmarks(Interne_Vermerke).Select
.Selection.Text = (CStr(Form!Interne_Vermerke))

End With
Set WordObj = Nothing

'an Cursorposition einfügen
'Set objSel = objWord.Selection
'objSel.TypeText varData
'Set objWord = Nothing
'DoEvents
'Exithere:
'Exit Sub

handleErr:
Beep
Select Case err.Number
Case 75
Resume Next
Case 53
Case Else
MsgBox "Err " & err.Number & ": " & err.Description, vbCritical, „Formular“
End Select
'Resume Exithere

End Sub

hallo, tut mir leid, aber mit Code kenn ich mich nicht so aus! Viel Glück!

Hallo echojuergen
Habe deinen Code nicht ausprobiert aber als erstes fällt mir auf dass das „end if“ direkt hinter dem „else“ steht.
Das macht keinen sinn.
Vieleicht ist dass ja das Problem.
Gruß
Broesel

Ich hab da ma was geändert, ist aber für office 2007 ggf anpassen.
Private Sub Interne_Vermerke_Click()
On Error GoTo handleErr
'Nur für mich zum Arbeiten! Ich nehme an das das bei dir eine globale variable ist.
Dim VarSchadenNr As String
VarSchadenNr = „123456“

Dim Interne_Vermerke As String
Dim objWord

Set objWord = CreateObject(„Word.Application“)
Dim x
x = Dir(„D:\Ablage\Intern“ & VarSchadenNr, vbDirectory)

If x = „“ Then
MkDir „D:\Ablage\Intern“ & VarSchadenNr
End If
With objWord
x = Dir(„D:\Ablage\Intern“ & VarSchadenNr & „“ & VarSchadenNr & „.docx“)
If x = „“ Then
'Du musst „D:\Ablage\Muster\Muster.docx“ anlegen auch schon wegen der Bookmarks
.Documents.Open „D:\Ablage\Muster\Muster.docx“
.ChangeFileOpenDirectory „D:\Ablage\Intern“ & VarSchadenNr
.ActiveDocument.SaveAs Filename:=VarSchadenNr & „.docx“, FileFormat:= _
wdFormatXMLDocument, LockComments:=False, Password:="", AddToRecentFiles _
:=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts _
:=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
SaveAsAOCELetter:=False
Else
.Documents.Open „D:\Ablage\Intern“ & VarSchadenNr & „“ & VarSchadenNr & „.docx“
End If

.Visible = True

.ActiveDocument.Bookmarks(„Jahr“).Select
'geht so bei mir natürlich nicht.
'.Selection.Text = (CStr(Form!Jahr))
.Selection.Text = „2013“
.ActiveDocument.Bookmarks(„SchadenNr“).Select
'.Selection.Text = (CStr(Form!SchadenNr))
.Selection.Text = „123456“
.ActiveDocument.Bookmarks(Interne_Vermerke).Select
'.Selection.Text = (CStr(Form!Interne_Vermerke))
.Selection.Text = „Ein Vermerk“

'immer daran Denken das in dem Mustertext die Bookmarks vorhanden sein müssen!!!

'das saven an dieser stelle nicht vergessen!!!
'.ActiveDocument.Save
'oder im Worddokument saven
End With

Exithere:
'auf jeden fall die Word instanz killen!
Set WordObj = Nothing
Exit Sub

handleErr:
Beep
Select Case Err.Number
Case 75
Resume Next
Case 53
Case Else
MsgBox "Err " & Err.Number & ": " & Err.Description, vbCritical, „Formular“
End Select
Resume Exithere

End Sub