I am using a VBA control - Command button. and I would like to be able to
print a word document by pressing it. The file is a fax cover sheet, which is
an important part of the application I am making.
Is there anyway this can be achieved.
Thank you to all who are able to help
Nick Hodge - 19 Dec 2006 00:31 GMT
Steve
This automates Word from Excel and uses early binding, so you would need to
set a reference to the MS Word library under references... in the VBE
(Alt+F11) before running the code
Sub AutomateWord()
Dim wdApp As Word.Application
Dim wdDoc As Word.Document
Set wdApp = New Word.Application
Set wdDoc = wdApp.Documents.Open("C:\FaxCover.doc")
wdDoc.PrintOut
wdDoc.Close SaveChanges:=False
Set wdDoc = Nothing
wdApp.Quit
Set wdApp = Nothing
End Sub

Signature
HTH
Nick Hodge
Microsoft MVP - Excel
Southampton, England
nick_hodgeTAKETHISOUT@zen.co.ukANDTHIS
www.nickhodge.co.uk
>I am using a VBA control - Command button. and I would like to be able to
> print a word document by pressing it. The file is a fax cover sheet, which
[quoted text clipped - 4 lines]
>
> Thank you to all who are able to help
NickHK - 20 Dec 2006 05:22 GMT
Steve,
Maybe the ShellExecute API with the Operation set to "print". Then you do
not need to know which application to open; the default for that file type
is used.
Private Declare Function ShellExecute Lib "shell32.dll" Alias
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal
lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String,
ByVal nShowCmd As Long) As Long
Dim RetVal As Long
RetVal = ShellExecute(&O0, "print", "C:\Doc.doc", vbNullString,
vbNullString, &O0)
If RetVal <= 32 Then
MsgBox "Error: Cannot print"
End If
NickHK
> I am using a VBA control - Command button. and I would like to be able to
> print a word document by pressing it. The file is a fax cover sheet, which is
[quoted text clipped - 3 lines]
>
> Thank you to all who are able to help