seit längerem bastel ich an einer kleinen VBA-Anwendung um einem Bekannten das Leben einfacher zu machen.
Es geht um eine Rechnungserstellung.
Ca. 50 verschiedene Dienstleistungen werden mit Hilfe einer Exceltabelle verwaltet.
Adresse des Kunden, sowie abzurechnende Dienstleistungen werden zu einer Rechnungsvorschau in Excel zusammengestellt. Mit einem Makro werden die Daten in eine zu öffnende Word.dot Vorlage kopiert und die Rechnung kann gedruckt werden.
Mittlerweile hab ich sämtliche Problemstellungen lösen können, verzweifle jedoch langsam an der Auswertung der Wordevents. Ziel ist es das "Dokument1" automatisch vor dem Drucken in "NameVornameYYYYMMDD" umbenannt und gespeichert wird.
Aktueller Code:
Klassenmodul:"EventKlasse"
Public WithEvents App As Word.Application
Private Sub App_DocumentBeforePrint(ByVal Doc As Document, Cancel As Boolean)
MsgBox Rechnungsname
End Sub
Modul:"Event_Verbinden_Modul"
Dim x As New EventKlasse
Sub Register_Event_Handler()
Set x.App = Word.Application
End Sub
Modul:"Rechnung_Drucken_Modul"
Option Explicit
Public AppWord As Word.Application
Public x As New EventKlasse
Sub Rechnung_Drucken()
Dim WordDoc As Word.Document
'####Word öffnen####'
On Error Resume Next
Set AppWord = GetObject(, "Word.Application")
On Error GoTo 0
If AppWord Is Nothing Then
Set AppWord = CreateObject("Word.Application")
End If
'####Vorlage öffnen####'
Set WordDoc = AppWord.Documents.Add(ThisWorkbook.Path _
& Application.PathSeparator & "Vorlage_V1.3.1.dot")
'####Register_Event_Handler####'
Set x.App = Word.Application
Set WordDoc = Nothing
Set AppWord = Nothing
End Sub
Das "MsgBox Rechnungsname" ist natürlich nicht der richtige Code sondern zum Testen.
Beim ersten Versuch klappt das ganze auch und ich bekomme die MsgBox angezeigt.
Wenn ich dann Word schließe (Excel bleibt während dessen offen) und erneut das Makro ausführe (Drucken Butten drücke) bekomme ich den
"Laufzeitfehler: 462
Der Remote-Server-Computer existiert nicht oder ist nicht verfügbar"
Ich hab wirklich schon viel gesucht, gelesen und ausprobiert (deswegen hab ich auch gemerkt das herber.de die Seite für den deutschen Exceluser ist), aber konnte bis jetzt zu keiner Lösung kommen.
Vielen lieben Dank im Voraus für eure Hilfe!
Grüße,
Christian Wagner