Jeg har lavet et program der kort sagt går ud på at brugeren udfylder nogle
felter. Derefter trykkes udskriv og programmet opretter og udskriver et
worddokument. Mit problem er at winword.exe bliver ved med at køre efter man
har udskrevet og lukket programmet. Hvis man derefter igen starter
programmet og udskriver, starter en winword mere osv. Jeg mener selv at jeg
lukker og slukker for word og objekterne på alle leder og kanter, men der må
jo være et eller andet jeg overser.
Min udskrivningsprocedurer ser således ud (jeg har kun medtaget det
væsentlige):
Public Sub kundeordre()
'oprettelse af wordobjekt
On Error Resume Next
Set WordApp = GetObject("Word.Application")
If WordApp Is Nothing Then
Set WordApp = CreateObject("Word.Application")
If WordApp Is Nothing Then
MsgBox "Word kunne ikke startes" & vbCrLf
& "og der kan derfor ikke udskrives"
Exit Sub
End If
End If
WordApp.Visible = False
'erklæring af dokument- og afsnitobjekt
Dim udskrivDoc As Document
Dim thisRange As Range
'dokument oprettes på baggrund af en word-'skabelon
WordApp.Documents.Add Template:=App.Path & "\udskriv_kundeordre.dot"
Set udskrivDoc = WordApp.Documents(WordApp.ActiveDocument)
[her er indsat kode der skriver tekst mv. i dokumentet]
'dokumentet gemmes
udskrivDoc.SaveAs FileName:=App.Path & "\kundeordre.doc",
FileFormat:=wdFormatDocument
'dokumentet printes
udskrivDoc.PrintOut
'dokumentet lukkes
udskrivDoc.Close
'dokumentobjektet sættes til ingenting
Set udskrivDoc = Nothing
'Word lukkes
Word.Application.Quit
'Word applikationsobjektet sættes til ingenting
Set WordApp = Nothing
End Sub
--
Jette Nielsen
http://www.webtip.dk
- en dansk HTML guide