Ich habe mal wieder ein Problem wo ich keine geeignete Lösung dazu hinbekomme.
folgende 3 Makros werden einzeln je über einen CommandButton ausgeführt.
Sub WordDrucken_Unterlagen1()
Dim wrdApp As Object
Dim wrdDoc As Object
Dim sFile As String
sFile = Range("Z1").Value ' Dateiname steht in Tabelle "Daten aus Verbis" Zelle Z1
If Dir(sFile) = "" Then
Beep
MsgBox "Worddokument wurde nicht gefunden!"
Else
Set wrdApp = CreateObject("Word.Application")
Set wrdDoc = wrdApp.Documents.Open(sFile)
wrdDoc.PrintOut
Application.Wait Now + TimeSerial(0, 0, 5)
wrdApp.Quit
Set wrdDoc = Nothing
Set wrdApp = Nothing
End If
'appWord.ActiveDocument.Close False 'dieser Aufruf erzeugt bei schließen eine _
Debugger Fehlermeldung
End Sub
Sub WordDrucken_Fahrtkosten()
Dim wrdApp As Object
Dim wrdDoc As Object
Dim sFile As String
sFile = Range("Z2").Value ' Dateiname steht in Tabelle "Daten aus Verbis" Zelle Z2
If Dir(sFile) = "" Then
Beep
MsgBox "Worddokument wurde nicht gefunden!"
Else
Set wrdApp = CreateObject("Word.Application")
Set wrdDoc = wrdApp.Documents.Open(sFile)
wrdDoc.PrintOut
Application.Wait Now + TimeSerial(0, 0, 5)
wrdApp.Quit
Set wrdDoc = Nothing
Set wrdApp = Nothing
End If
'appWord.ActiveDocument.Close False 'dieser Aufruf erzeugt bei schließen eine _
Debugger Fehlermeldung
End Sub
Sub WordDrucken_Entscheidung()
Dim wrdApp As Object
Dim wrdDoc As Object
Dim sFile As String
sFile = Range("Z3").Value ' Dateiname steht in Tabelle "Daten aus Verbis" Zelle Z3
If Dir(sFile) = "" Then
Beep
MsgBox "Worddokument wurde nicht gefunden!"
Else
Set wrdApp = CreateObject("Word.Application")
Set wrdDoc = wrdApp.Documents.Open(sFile)
wrdDoc.PrintOut
Application.Wait Now + TimeSerial(0, 0, 5)
wrdApp.Quit
Set wrdDoc = Nothing
Set wrdApp = Nothing
End If
'appWord.ActiveDocument.Close False 'dieser Aufruf erzeugt bei schließen eine _
Debugger Fehlermeldung
End Sub
Das Makro macht folgendes: Es öffnet mir ein Worddokument mit Pfad in Zelle "Z1" (in meinem 1.Makro wäre das Z:\Textbaustein\BC1_UnterlagenAR.docxdas zweite Makro mit Pfad in Zelle "Z2" Z:\Textbaustein\BC2_FahrtkostenAR.docx
sowie das 3. Makro mit Pfad in Zelle "Z3" Z:\Textbaustein\BC3_EntscheidungAR.docx
Wie gesagt jedes einzelne Makro öffnet bei klick auf den entsprechenden CommandButton das zugehörige Worddokument, druckt es aus und schließt Word wieder.
Dies funktioniert einzeln bereits.
Ich möchte aber erreichen das ich nur einen CommandButton anklicke und mir dabei alle 3 Worddokumente nacheinander ausgedruckt werden.
Wie kann ich das in meinem Fall lösen?
Hatte die Idee alle 3 Makro über eine If Schleife laufen zu lassen.
Hier mal mein Code Ansatz der aber nicht funktioniert. (Das Makro bleibt nach dem Ausdruck des 1. Dokumentes hängen und ich kann nicht mehr weiter arbeiten)
Hier mein Ansatz:
Sub WordDrucken_mein Test()
Dim wrdApp As Object
Dim wrdDoc As Object
Dim sFile As String
sFile = Range("Z1").Value ' Dateiname steht in Tabelle "Daten " Zelle Z1 ( _
BC1_UnterlagenAR.docx
If Dir(sFile) = "" Then
Beep
MsgBox "Worddokument wurde nicht gefunden!"
Else
Set wrdApp = CreateObject("Word.Application")
Set wrdDoc = wrdApp.Documents.Open(sFile)
wrdDoc.PrintOut
Application.Wait Now + TimeSerial(0, 0, 5)
wrdApp.Quit
Set wrdDoc = Nothing
Set wrdApp = Nothing
End If
sFile = Range("Z2").Value ' Dateiname steht in Tabelle "Daten " Zelle Z2 ( _
BC2_FahrtkostenAR.docx)
If Dir(sFile) = "" Then
Beep
MsgBox "Worddokument wurde nicht gefunden!"
Else
Set wrdApp = CreateObject("Word.Application")
Set wrdDoc = wrdApp.Documents.Open(sFile)
wrdDoc.PrintOut
Application.Wait Now + TimeSerial(0, 0, 5)
wrdApp.Quit
Set wrdDoc = Nothing
Set wrdApp = Nothing
End If
sFile = Range("Z3").Value ' Dateiname steht in Tabelle "Daten " Zelle Z3 ( _
BC3_EntscheidungAR.docx)
If Dir(sFile) = "" Then
Beep
MsgBox "Worddokument wurde nicht gefunden!"
Else
Set wrdApp = CreateObject("Word.Application")
Set wrdDoc = wrdApp.Documents.Open(sFile)
wrdDoc.PrintOut
Application.Wait Now + TimeSerial(0, 0, 5)
wrdApp.Quit
Set wrdDoc = Nothing
Set wrdApp = Nothing
End If
End Sub
Für Eure Hilfe wäre ich sehr dankbarliebe Grüße im voraus
Andreas