Word Formular Vorlage aus Access aufrufen

Ich rufe aus Access ein Wordformular als Vorlage auf. Schreibe die Schadennummer als Textmarke und speicher das Dokument unter der Schadennummer (Jahr-Nummer.doc)ab. Das funktioniert auch. Beim nächsten Mal soll aber zuerst geprüft werden, ob ein Dokument mit der Schadennummer schon vorhanden ist, und dann geöffnet werden. Dies funktioniert nicht. Er findet das Dokument nicht. Desweiteren wird zusätzlich ein Unterverzeichnis angelegt, das muss nicht sein, soll gelöscht werden.
Kann mir jemand helfen ?
Gruss Jürgen

Private Sub Interne_Vermerke_Click()
On Error GoTo handleEr

Dim VarSchadenNr As String
Dim VarJahr As String
Dim Interne_Vermerke As String
Dim objWord

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

If x = „“ Then
MkDir „D:\Ablage\Intern“ & VarJahr & „-“ & VarSchadenNr & „.doc“
End If
With objWord
x = Dir(„D:\Ablage\Intern“ & VarJahr & „-“ & VarSchadenNr & „.doc“)
If x = „“ Then

.Documents.Open „C:\forms\Vor_Interne_Vermerke.doc“
.ChangeFileOpenDirectory „D:\Ablage\Intern“ & VarJahr & „-“ & VarSchadenNr & „.doc“
.ActiveDocument.SaveAs „D:\Ablage\Intern“ & Me.Jahr & „-“ & Me.SchadenNr & „.doc“
Else

.Documents.Open „D:\Ablage\Intern“ & Me.Jahr & „-“ & Me.SchadenNr & „.doc“
End If

.Visible = True
.ActiveDocument.Bookmarks(„Jahr“).Select

.Selection.Text = (CStr(Form!Jahr))
.ActiveDocument.Bookmarks(„SchadenNr“).Select
.Selection.Text = (CStr(Form!SchadenNr))
.ActiveDocument.Bookmarks(Interne_Vermerke).Select

.ActiveDocument.SaveAs „D:\Ablage\Intern“ & Me.Jahr & „-“ & Me.SchadenNr & „.doc“
.Bookmarks(„Jahr“).Select
.Selection.Text = (CStr(Form!Jahr))
.Bookmarks(„SchadenNr“).Select
.Selection.Text = (CStr(Form!SchadenNr))

End With

Exithere:
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

Tut mir leid, damit kann ich nicht weiter helfen
Gruss Günter

Hallo Jürgen,

mir fallen da mehr Sachen auf.

Private Sub Interne_Vermerke_Click()
On Error GoTo handleEr

Dim VarSchadenNr As String
Dim VarJahr As String
Dim Interne_Vermerke As String
Dim objWord

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

Du hast die beiden Variablen VarJahr und VarSchadenNr noch nicht gefüllt. Dir() kann also nur „“ sein.
(oder Du hast nicht Deinen ganzen Code gepostet, was sehr verwirrend wäre)

If x = „“ Then
MkDir „D:\Ablage\Intern“ & VarJahr & „-“ & VarSchadenNr &
„.doc“

Hier generiertst Du ein Unterverzeichnis „-.doc“ NICHT ein Worddokument. Da deine beiden Variablen ja immernoch nicht gefüllt sind. Den Code kannst du Dir eigentlich sparen.

End If
With objWord
x = Dir(„D:\Ablage\Intern“ & VarJahr & „-“ & VarSchadenNr &
„.doc“)

Da wegen der Fehler oben noch nichts gemacht wurde ist x immer noch „“

Der Rest ergibt sich dann.

Fülle VarJahr und VarSchadennr und geh Deinen Code dann nochmal Zeile für Zeile durch.
Dann bekommst Du es auch hin.

Gruß
Andreas

Hallo,

du mustt dann nur diesen teil vollständig entfernen

x = Dir(„D:\Ablage\Intern“ & VarJahr & „-“ & VarSchadenNr & „.doc“)

If x = „“ Then
MkDir „D:\Ablage\Intern“ & VarJahr & „-“ & VarSchadenNr & „.doc“
End If

mkdir mit der Endung .doc macht sowieso nicht so viel Sinn.

Frank