Solved

EXLWS.PrintOut problem!!!!!!!!

Posted on 2006-10-25
5
238 Views
Last Modified: 2010-04-16
Hello all,

Im stuck in a pretty bad situation here, I wrote a program that will export data to an excel spreadsheet and then print that sheet without the user ever seeing Excel.  When running the program on my computer everything works great but when I install the program on another machine and execute the command the program crashes.  Below is a sample of the code im using:

========BEGIN CODE==========
Set appEXL2 = New excel.Application
Set EXLwb2 = appEXL2.Workbooks.Open(GetWinDir & "\Cons Manager\MASTER CONS.xls")
Set EXLws2 = EXLwb2.Worksheets(1)
EXLws2.Visible = xlSheetVisible
With EXLws2
    .Cells(8, 6).Value = MDate
    .Cells(11, 6).Value = MRoute
    .Cells(14, 6).Value = MOrig
    .Cells(17, 6).Value = MDest
    .Cells(21, 2).Value = MCNUM
End With
EXLws2.PrintOut
========END CODE==========

Any ideas!?!?  This one is pretty urgent!
0
Comment
Question by:zraptor
  • 3
  • 2
5 Comments
 
LVL 18

Expert Comment

by:JoseParrot
ID: 17809469
Hi,

Sounds the file isn't present and the program crashs due commands to Excel for an unopen file. Or the default printer isn't available.

You may debug it with a step by step execution to discover where the problem occurs. For exemple, by creating a keyboard entry between each statement with a message. Something like "OK, file open", "Worksheet 1 OK", "Visible OK", etc.

Check the file in the new machine, read only? Need macros? Correct path?
Also if the default printer is online and corresponds to the actual printer.

Jose
0
 
LVL 18

Expert Comment

by:JoseParrot
ID: 17814335
Hi,

By checking the code in a VB 6 environment, I've modified it, as in the below code, which runs properly. (I have created a button to start the code)

__________________________________________________
Private Sub Command1_Click()

Dim appEXL2 As Object
Dim EXLwb2 As Object
Dim EXLws2 As Object

Set appEXL2 = CreateObject("Excel.Application")
Set EXLwb2 = appEXL2.Workbooks.Open("C:\PrintOutTest.xls")
Set EXLws2 = EXLwb2.Worksheets(1)

' EXLws2.Visible = xlSheetVisible

' The variables were modified for testing purposes
With EXLws2
    .Cells(8, 6).Value = "MDate2"
    .Cells(11, 6).Value = "MRoute2"
    .Cells(14, 6).Value = "MOrig2"
    .Cells(17, 6).Value = "MDest2"
    .Cells(21, 2).Value = "MCNUM2"
End With

' This will print the worksheet in the default printer
EXLwb2.PrintOut

' Remember to close the file
' As it was modified, will ask for saving
result2 = appEXL2.Workbooks.Close()

End Sub
__________________________________________________


Jose
0
 

Author Comment

by:zraptor
ID: 17824988
Will that code still work if I modify it to allow for the user to select a printer to print to?
0
 
LVL 18

Accepted Solution

by:
JoseParrot earned 500 total points
ID: 17825608
Hi,

No. EXLwb2.PrintOut always directs the output to the default printer.

If you have more than one printer and want the user to select which one to print the document, then you should write a new dialog. Take a look at http://support.microsoft.com/kb/322710

Jose
0
 

Author Comment

by:zraptor
ID: 17872743
Ok, The default printer thing was the problem, Thanks a lot for the help!!!!
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Suggested Solutions

Entering a date in Microsoft Access can be tricky. A typo can cause month and day to be shuffled, entering the day only causes an error, as does entering, say, day 31 in June. This article shows how an inputmask supported by code can help the user a…
Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …
In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…

743 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

10 Experts available now in Live!

Get 1:1 Help Now