Sub
druck()
Dim
intRow
As
Integer
, intLastRow
As
Integer
Dim
al
As
Worksheet
Dim
x
As
Long
, y
As
Long
, lngZeilen
As
Long
Dim
V1, V2, V3, V4
Dim
appWord
As
Object
Dim
docTest
As
Object
Dim
txt
As
String
txt =
"Uhr"
With
ThisWorkbook
Set
al = .Worksheets(
"Auslieferungsliste"
)
End
With
lngZeilen = al.Cells(al.Rows.Count, 1).
End
(xlUp).Row
For
y = 2
To
lngZeilen
With
al
V1 = .Cells(y, 2).Value
V2 = .Cells(y, 3).Value
V3 = .Cells(y, 4).Value
V4 = .Cells(y, 5).Text
End
With
If
V1 <>
""
And
V2 <>
""
And
V3 <>
""
And
V4 <>
""
Then
Set
appWord = CreateObject(
"Word.Application"
)
Set
docTest = appWord.documents.Add(
"C:\Dokumente und Einstellungen\P325130\Desktop\kennzeichen.doc"
)
appWord.Visible =
True
docTest.Activate
docTest.Bookmarks(
"kennzeichen"
).Range.Text = V1
docTest.Bookmarks(
"name"
).Range.Text = V2
docTest.Bookmarks(
"datum"
).Range.Text = V3
docTest.Bookmarks(
"uhrzeit"
).Range.Text = V4 &
" "
& txt
DoEvents
docTest.PrintOut
docTest.Close SaveChanges:=
False
appWord.Quit
Else
End
If
Next
y
If
appWord.documents.Count = 0
Then
appWord.Quit
Set
docTest =
Nothing
Set
appWord =
Nothing
End
Sub
Die Werte werden jetzt auch richtig in ein das Worddokument in die entsprechenden Textmarken eingefügt, ABER es kommt am Schluss für jedes
Dokument eine Meldung die man immer manuell schließen muss. Habs auch versucht mit .Quit aber es wird nicht automatisch geschlossen.
1. Meldung: Microsoft Word kann nicht beendet werden, weil noch ein Dialogfeld aktiv ist. Schalten Sie erst zu Microsoft Word um und schließen
Sie das Dialogfeld
2. Meldung: Diese Datei wird gerade von einer anderen Anwendung oder einem anderen Benutzer verwendet (C:\...\Normal.dot)
...und diese jeweils zugeordnet zu den Dokumenten. Wenn die Anzahl bei 15 Dokumenten liegt, ist es sehr mühsam alle Meldungen zu schließen.
<strong>Fragen:</strong> Kann man die Meldungen umgehen/automatisch schließen? Und was hat das alles mit der Dokumentenvorlage Normal.dot zu tun???
Ich hoffe mir kann irgendjemand weiterhelfen :) :)
Gruß und Danke!
nyan