View Single Post
  #6   Report Post  
Posted to microsoft.public.excel.misc
Steve Yandl
 
Posts: n/a
Default What is the command-line print switch in Excel?

Actually, even if you have Win98 systems, the scripting runtimes are
standard. Some great new tools that involve WMI (which were not used for
the above script) require more than is found in Win98 but that isn't an
issue here. Your only concern will be systems where script support has been
turned off for security.

Steve


"Steve Yandl" wrote in message
. ..
Yes, vbs support and the Script Host are included. It can be downloaded
for free from Microsoft if you have any Win98 systems but it's standard on
WinXP and Win2k.

I like to place shortcuts to this sort of script in my SendTo folder
rather than type out command lines with arguments but do what suits your
needs best.

Steve


"eeidfn" wrote in message
...
Steve,
That worked great. It also works if the file happens to be open already.

The only drawback is that VBS support is required in addition to Excel
being
installed. Is WScript and Visual Basic Script standard on Windows 2000
and
XP?

Thanks.

"Steve Yandl" wrote:

I don't think you can do it directly from a command line. You could use
a
somewhat indirect approach with a vbScript. If you save what I've got
between the lines below as a text file with a VBS extension (for
example,
C:\Test\PrintWkbk.vbs) then you can either drag xls files into the vbs
or a
shortcut to it or you can use a command line like:
C:\Test\PrintWkbk.vbs "C:\xlFiles\Text.xls"
to print the Workbook. Note that if you have disabled file associations
for
scripts, you may have to use the command line
WScript.exe C:\Test\PrintWkbk.vbs "C:\xlFiles\Text.xls"

__________________________________________________ ___________

Const xlDoNotSaveChanges = 2

Dim fso, oXL, oWkbk

Set fso = CreateObject("Scripting.FileSystemObject")
Set oXL = CreateObject("Excel.Application")

oXL.Visible = False

If WScript.Arguments.Count = 0 Then
WScript.Quit
Else
For A = 0 To (WScript.Arguments.Count - 1)
If (Right(WScript.Arguments.Item(A), 3) = "xls") _
AND fso.FileExists(WScript.Arguments.Item(A)) Then
Set oWkbk = oXL.Workbooks.Open(WScript.Arguments.Item(A))
oWkbk.PrintOut
oWkbk.Close xlDoNotSaveChanges
End If
Next
End If

oXL.Quit
Set fso = Nothing
Set oXL = Nothing
__________________________________________________ ___________

Steve Yandl




"eeidfn" wrote in message
...
Opening Excel 2003 from the command-line as follows works:
"C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE" /e
C:\excelFile.xls

But how do I print from the command-line?

Thanks.