Solved

Printing Excel sheet from command line

Posted on 2004-08-11
14
5,944 Views
Last Modified: 2013-12-28
I want to print MS-Excel sheet from command line. I have this script:

PRINT.EXE /D:"\\WRHMAIN\P_IS_WOFFICE" C:\projects\floor.xls

This command line is printing garbage. Any ideas how to make it work.
0
Comment
Question by:wimzieguy
  • 6
  • 5
14 Comments
 
LVL 2

Expert Comment

by:KJHDI12
Comment Utility

PRINT.EXE only prints textfile. It treats the excel document as a text document, and the excel document contains alot of binary codes that reult it printing "garbage". Im looking into a solution for the printing.
0
 
LVL 2

Expert Comment

by:KJHDI12
Comment Utility

This VB code will print a XSL document specified as a parameter. ie..
"myapp.exe" c:\test.xls"
will print the excel docuement test.xsl

If you want I can compile you a exe you can use.

Code:

Option Explicit

Public Sub Main()

   ' Variables
   Dim mybook As Excel.Workbook
   Dim xlApp As Excel.Application
   
   ' Error trapping
   On Error GoTo errTrap
   
   ' Quit if no file was specified
   If Command = "" Then Exit Sub
   
   ' Open excel document
   Set xlApp = New Excel.Application
   Set mybook = xlApp.Workbooks.Open(Command, , , , , "")
   
   ' Print
   mybook.PrintOut
   
   ' Close excel
   mybook.Close
   
   Exit Sub
errTrap:
   MsgBox Err.Description, vbInformation, "Excel document printing"
   
End Sub
0
 

Author Comment

by:wimzieguy
Comment Utility
Please.... I am too new for visual basic
0
 
LVL 2

Accepted Solution

by:
KJHDI12 earned 125 total points
Comment Utility

http://www.uogateway.com/printxls.zip

It incudes the printxls.exe application and source code (just in case).
0
 

Author Comment

by:wimzieguy
Comment Utility
I am getting this error when I run this app with my excel sheet:

The instruction at "0x00000000" referenced memory at "0x00000000". The memory could not be "read".
Click blah blah...

Any idea what is going on??
0
 
LVL 2

Expert Comment

by:KJHDI12
Comment Utility

Strange. Anything special about that excel file?

What version of Excel do you use?
0
Why do Marketing keep bothering you?

Is your marketing department constantly asking for new email signature updates? Are they requesting a different design for every department? Do they need yet another banner added? Don’t let it get you down! There is an easy way to manage all of these requests...

 

Author Comment

by:wimzieguy
Comment Utility
Excel 97 SR-2
0
 
LVL 2

Expert Comment

by:KJHDI12
Comment Utility

Ah. This method wont work unless you got Excel 2000 or newer. :/
0
 

Author Comment

by:wimzieguy
Comment Utility
hmmmm... let me try then.
0
 

Author Comment

by:wimzieguy
Comment Utility
Wow! It worked with Excel 2000 :-)
Thanks a lot!
0
 
LVL 2

Expert Comment

by:KJHDI12
Comment Utility
np
0
 

Expert Comment

by:The_Degenerate
Comment Utility
I am also fairly new to VB programming and needed a helping hand in figuring out how to print an excel document via VB code.  The above URL to the compiled application no longer works (it's 3 years old ..., might be why :) )  So I have re-written it in VB2005, compiled it, and am hosting it here http://www.bxstudio.com/bxdls/ExcelPrinter.exe

See attached code snippet for updated vb2005 code. Again, not a pro at VB...so the code might not be the best way to accomplish this...but it gets the job done and that is all that matters.
Also note, this code is directly derived from the above post by KJHDI12.  I don't want to take credit for his initial work.

Thanks,

Degen

Option Explicit On
 

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        ' Variables

        Dim mybook As Microsoft.Office.Interop.Excel.Workbook

        Dim xlApp As Microsoft.Office.Interop.Excel.Application
 

        ' Error trapping

        On Error GoTo errTrap
 

        ' Quit if no file was specified

        If Command() = "" Then Exit Sub
 

        ' Open excel document

        xlApp = New Microsoft.Office.Interop.Excel.Application

        mybook = xlApp.Workbooks.Open(Command, , , , , "")
 

        ' Print

        mybook.PrintOut()
 

        ' Close excel

        mybook.Close()

        Close()

        Exit Sub

errTrap:

        MsgBox(Err.Description, vbInformation, "Excel document printing")

        Close()

    End Sub
 

End Class

Open in new window

0

Featured Post

Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

Join & Write a Comment

Windows Mobile Barcode Scanning These days almost every product has a barcode in some way... amongst there are 1D barcodes en 2D barcodes.. From http://www.barcodeman.com/faq/2d.php I found some handy definitions and insights. 1D barcodes …
This is an article about Leadership and accepting and adapting to new challenges. It focuses mostly on upgrading to Windows 10.
The viewer will learn how to successfully create a multiboot device using the SARDU utility on Windows 7. Start the SARDU utility: Change the image directory to wherever you store your ISOs, this will prevent you from having 2 copies of an ISO wit…
The Task Scheduler is a powerful tool that is built into Windows. It allows you to schedule tasks (actions) on a recurring basis, such as hourly, daily, weekly, monthly, at log on, at startup, on idle, etc. This video Micro Tutorial is a brief intro…

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now