want VB6 to edits Excel in background and not become visible when I open another excel file

Z

Zee

I currently load an excel file using VB6 as below:


Set oExcel = CreateObject("excel.application")
Set oBook = oExcel.Workbooks.Open(sMyFile)
Set oSheet = oBook.Sheets(1)

oSheet.cells(1,1)=...

I then proceed to manipulate the worksheet for a while.

The Excel file doesn't show in Windows while it is doing its processing
but obviously the process shows in the task manager under processes.

If I know open another Excel file from Windows for general use (nothing
connected to my VB6 application), The file above becomes visible and it
is possible to edit the file. What is more if you then close the file
above the VB6 loses the link to the file.

Is it possible to open up my VB6 Excel file in a separate process so
that if the user then wants to open another Excel file meanwhile the
VB6 Excel file will not become visible?

Any help really appreciated

David
 
T

Tom Ogilvy

In the instance of excel controlled by VB6, do

oExcel.IgnoreRemoteRequests = True

This should cause user initiated workbooks to open in a separate instance.
 
M

Michael D. Ober

Unfortunately this also causes excel to ignore ShellOpen requests when you
double-click on an excel file.

Mike Ober.
 
M

Michael D. Ober

You need to remember to put in the line oExcel.IgnoreRemoteRequests = False
before you issue oExcel.Quit. If you don't, you won't be able to
double-click on an excel spreadsheet on your desktop and have excel open it.

Mike Ober.
 
B

Bob Butler

Michael D. Ober said:
Unfortunately this also causes excel to ignore ShellOpen requests
when you double-click on an excel file.

Mike Ober.

I knew it was too good to be true. It' a royal pain when an app that has
been running for several minutes building a report is killed by a user
opening an unrelated excel document and then closing it.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top