How to reject user operation on the application I created

G

Guest

Hello everyone
I am working on a program about searching data from all the .xls files, But
when I let my program run (user cannot see this program, because this program
is run as a windows service), if the user open a .xls file, it seems
myprogram and the file user opened will share a same Excel application-->and
the result is when user look at his file, he can also see the file open and
close by my program
How can I reject the operation from users?

I tried 2 ways, but same result
Here is the key part in my program(vb 2005):
Private m_exlApp As Excel.Application ' Excel Application
......
' for every filepath
Dim excelBook As Excel.Workbook
Dim sheet As Excel.Worksheet

m_exlApp.Workbooks.Open(filepath, ReadOnly:=True)
excelBook = m_exlApp.ActiveWorkbook

For Each sheet In excelBook.Sheets
' do something
Next

excelBook.Close()
.......
m_exlApp.Quit()
 
G

Guest

The Excel instance opened through automation shouldn't be visible. Make sure
you don't have any line like this in your code:

m_exlApp.Visible = True

If you need the Excel instance to be visible, you can set the Interactive
property to false.

m_exlApp.Interactive=False
 
G

Guest

Thanks a lot Vergel Adriano
I didn't use visible currectly, thank you for reminding me.
I didn't well explain my problem, my real problem is I want to reject
user access to the Excel process I created.
for example:
I created a Excel Process(Process Id is 1868---allocated by OS ), and
when user open a excel file, I don't want user to share the same process. I
want to create a Excel process only for my program. Is there any method.
 
N

NickHK

This will not allow the Shell to interact with your instance through DDE,
i.e. double-clicking and Excel file in Explorer:
Application.IgnoreRemoteRequests = True

It is still accessible via COM, but the user cannot inadvertently use that.

NickHK

"How to reject user operation"
 
G

Guest

Mr/Ms NickHK, it works well
and also the advice from Vergel is also very helpful
Thanks a lot!
 

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