wimzieguy
asked on
Printing Excel sheet from command line
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.
PRINT.EXE /D:"\\WRHMAIN\P_IS_WOFFICE
This command line is printing garbage. Any ideas how to make it work.
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(Comma
mybook.PrintOut
' Close excel
mybook.Close
Exit Sub
errTrap:
MsgBox Err.Description, vbInformation, "Excel document printing"
End Sub
ASKER
Please.... I am too new for visual basic
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
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??
The instruction at "0x00000000" referenced memory at "0x00000000". The memory could not be "read".
Click blah blah...
Any idea what is going on??
Strange. Anything special about that excel file?
What version of Excel do you use?
ASKER
Excel 97 SR-2
Ah. This method wont work unless you got Excel 2000 or newer. :/
ASKER
hmmmm... let me try then.
ASKER
Wow! It worked with Excel 2000 :-)
Thanks a lot!
Thanks a lot!
np
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
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
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.