noch mal eine Frage zum Zusammenspiel Excel -> Word.
Folgender Code wird aus einer Userform aufgerufen, Daten aus der Userform übertragen,
das Word-Dokument gedruckt und geschlossen, Word beendet:
Sub HandAkte()
Dim DocNeu As Object
Dim frm As Object
Dim ObjWord As Object
Set frm = UserForm2
MsgBox ("Bitte ein Handakten-Etikett einlegen")
On Error Resume Next
Set ObjWord = GetObject("Word.Application")
If ObjWord Is Nothing Then
Set ObjWord = CreateObject("Word.Application")
ObjWord.Visible = True
End If
On Error GoTo 0
If Not ObjWord Is Nothing Then
Set DocNeu = ObjWord.Documents.Add(Template:="C:\Eigene Dateien\Vorlagen\Handakte.dot")
End If
With DocNeu
.FormFields("ProzReg").Result = frm.Controls("TextBox21").Value 'frm.TextBox21.Value
.FormFields("inSachen").Result = Left(frm.TextBox2.Value, 1) & ". " & frm.TextBox3.Value
.FormFields("gegen").Result = frm.Controls("TextBox22").Value
.Bookmarks("Grund").Range.Text = frm.TextBox23.Value
.FormFields("Vorname").Result = frm.Controls("TextBox3").Value
.FormFields("Name").Result = frm.Controls("TextBox2").Value
.FormFields("Strasse").Result = frm.Controls("TextBox4").Value
.FormFields("Ort").Result = frm.TextBox5.Value & " " & frm.TextBox6.Value
.FormFields("VersNr").Result = frm.Controls("TextBox13").Value
.FormFields("Versicherung").Result = frm.Controls("TextBox12").Value
.FormFields("Telefon").Result = frm.Controls("TextBox7").Value
.FormFields("Telefax").Result = frm.Controls("TextBox8").Value
End With
DocNeu.Application.DisplayAlerts = wdAlertsNone
DocNeu.Application.Activate
DocNeu.Application.PrintOut
Word.ActiveDocument.Close (wdDoNotSaveChanges)
Word.Application.Quit
End Sub
Beim ersten Aufruf läuft das Ganze fehlerlos durch. Ruf ich diese Prozedur ein 2. mal auf (ohne was anderes gemacht zuhaben), kommen unterschiedliche Fehlermeldungen in unterschiedlichen Zeilen:Laufzeitfehler 462, der Remote Server existiert nicht oder ist nicht verfügbar oder Object nicht bekannt oder verfügbar u. ä.. Wo der Fehler auftritt hängt auch davon ab, ob ich DocNeu.App... oder Word.App... verwende.
Betroffen sind i. d. R. die Zeilen:
Set DocNeu = ObjWord.Documents.Add(Template:="C:\Eigene Dateien\Vorlagen\Handakte.dot")
DocNeu.Application.PrintOut
Word.ActiveDocument.Close (wdDoNotSaveChanges)
Kann mir einer sagen, wie ichs anders mache oder besser bzw. so, dass keine Fehler mehr entstehen?
Eine Antwort wäre sehr hilfreich und nett.
Mit freundlichen Grüßen
Albrecht
(PS: beende ich den Debugger und starte neu, funktionierts wieder oder eine Änderung!)