John W. Colby
jwcolby at colbyconsulting.com
Tue Mar 2 10:23:14 CST 2004
Thanks Gustav, Mark. John W. Colby www.ColbyConsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com]On Behalf Of Gustav Brock Sent: Tuesday, March 02, 2004 9:33 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] word automation not printing Hi John You may choose to print the document in the background: <code> Function WordDocPrint( _ ByVal strFilename As String, _ Optional ByVal booPrintBackGround As Boolean = False) _ As Boolean ' Print Word document from within Access. ' 2000-05-27. Gustav Brock. Cactus Data ApS. ' 2000-09-10. Modified with option for background printing. ' Example: ? WordDocPrint("C:\Programmer\Microsoft Office 97\Office\Eksempler\produkter.doc") Dim appWord As Word.Application Dim booSuccess As Boolean Set appWord = New Word.Application Debug.Print "- activated" With appWord If Len(Dir(strFilename)) > 0 Then ' Open document strFilename read-only. .Documents.Open strFilename, , True Debug.Print "- opened" .ActiveDocument.PrintOut booPrintBackGround While .BackgroundPrintingStatus > 0 Debug.Print "- printing" DoEvents Wend Debug.Print "- printed" .ActiveDocument.Close Debug.Print "- closed" booSuccess = True End If .Quit Debug.Print "- quit" End With Set appWord = Nothing WordDocPrint = booSuccess End Function </code> /gustav > I am using the following code to print an existing document using word > automation. If I leave out the msgbox statement the document doesn't print. > It's almost as if the close happens before the print manages to get the > document out of word and into the print queue. Has anyone seen this? Any > suggestions? The "Press any key" solution is unprofessional to say the > least. > Function PrintWordDoc(strFilePath As String, strFileName As String, intCnt > As Integer) As Boolean > On Error GoTo Err_PrintWordDoc > Dim AppWord As Word.Application > Dim lDoc As Word.Document > Set AppWord = CreateObject("Word.Application") > With AppWord > .Visible = True > .Documents.Open (strFilePath & strFileName) > Set lDoc = .Documents(strFileName) > lDoc.PrintOut , , , , , , , intCnt > msgbox "Press any key to continue" > .Quit savechanges:=False > End With > PrintWordDoc = True > Exit_PrintWordDoc: > On Error Resume Next > Set lDoc = Nothing > Set AppWord = Nothing > Exit Function > Err_PrintWordDoc: > MsgBox Err.Description, , "Error in Sub basMailMerge.PrintWordDoc" > Resume Exit_PrintWordDoc > Resume 0 '.FOR TROUBLESHOOTING > End Function -- _______________________________________________ AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com