Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > Re: CreateObject("Excel.Application",MyServer)

Reply
Thread Tools

Re: CreateObject("Excel.Application",MyServer)

 
 
KC
Guest
Posts: n/a
 
      10-05-2004
Hi,
I finally got the CreateObject("Excel.Application",\\MyServer) working but I
have another serious problem.
I open the Excel.Application in remoter server and open the workbook and
read and process the data. But the process is done, the Excel instance
doesn't close and it creates a new instance every time. Here is my code.

Please help..

Dim objExcelApp As Excel.Application
Dim objWorkBook As Excel.Workbook
Dim objWorkSheet As Excel.Worksheet
Dim objRange As Excel.Range
objExcelApp = CType(CreateObject("Excel.Application",
ConfigurationSettings.AppSettings("AppServer")), Excel.Application)
objExcelApp.DisplayAlerts = False
objWorkBook = CType(objExcelApp.Workbooks.Add(WorkBookPath), Excel.Workbook)
objWorkSheet =
CType(objWorkBook.Worksheets(ConfigurationSettings .AppSettings("WorkSheetPat
h")), Excel.Worksheet)


''Do the processing......................

ReleaseComObject(objWorkSheet)
ReleaseComObject(objWorkBook)
ReleaseComObject(objExcelApp)

objRange = Nothing
objWorkBook = Nothing
objWorkSheet = Nothing
objExcelApp = nothing

If Not IsNothing(objExcelApp) Then
objExcelApp.DisplayAlerts = False
objExcelApp.Quit()
objExcelApp = Nothing
End If

GC.Collect()






"Dmitriy Lapshin [C# / .NET MVP]" <(E-Mail Removed)> wrote
in message news:(E-Mail Removed)...
> Hi KC,
>
> You can grant permissions to the user your ASP .NET app runs under to

access
> the Excel COM server by running dcomcnfg on the "MyServer" machine. For
> this, the aforementioned user should be a domain user. You could possibly
> also impersonate a domain user with enough permissions before

instantiating
> and using the Excel object.
>
> --
> Sincerely,
> Dmitriy Lapshin [C# / .NET MVP]
> Bring the power of unit testing to the VS .NET IDE today!
> http://www.x-unity.net/teststudio.aspx
>
> "KC" <(E-Mail Removed)> wrote in message
> news:(E-Mail Removed)...
> > Hi,
> > I have code similar to this..
> > Dim xlApp As Object
> > xlApp = CreateObject("Excel.Application", "\\MyServer")
> >
> > The call is from a asp.net (Intranet) application. \\Myserver is a

network
> > computer in the same domain as web server. The only way I can get this
> > call
> > worked is when I add the user who logs on to the web site as
> > Administrators.
> > I need to get this working without having to make the user

administrator.
> > Any suggestion?
> > Thanks,
> > CK
> >
> >

>



 
Reply With Quote
 
 
 
 
Ken Cox [Microsoft MVP]
Guest
Posts: n/a
 
      10-05-2004

You should read the article by Steve Orr on how to do this:

http://www.aspnetpro.com/NewsletterA...200309so_l.asp

Are you using Microsoft's interop components? One technique that may help is
to call

System.Runtime.InteropServices.Marshal.ReleaseComO bject(xl)

BTW, why the excessive/impolite cross-posting? (Trimmed)

"KC" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> Hi,
> I finally got the CreateObject("Excel.Application",\\MyServer) working but
> I
> have another serious problem.
> I open the Excel.Application in remoter server and open the workbook and
> read and process the data. But the process is done, the Excel instance
> doesn't close and it creates a new instance every time. Here is my code.
>
> Please help..
>
> Dim objExcelApp As Excel.Application
> Dim objWorkBook As Excel.Workbook
> Dim objWorkSheet As Excel.Worksheet
> Dim objRange As Excel.Range
> objExcelApp = CType(CreateObject("Excel.Application",
> ConfigurationSettings.AppSettings("AppServer")), Excel.Application)
> objExcelApp.DisplayAlerts = False
> objWorkBook = CType(objExcelApp.Workbooks.Add(WorkBookPath),
> Excel.Workbook)
> objWorkSheet =
> CType(objWorkBook.Worksheets(ConfigurationSettings .AppSettings("WorkSheetPat
> h")), Excel.Worksheet)
>
>
> ''Do the processing......................
>
> ReleaseComObject(objWorkSheet)
> ReleaseComObject(objWorkBook)
> ReleaseComObject(objExcelApp)
>
> objRange = Nothing
> objWorkBook = Nothing
> objWorkSheet = Nothing
> objExcelApp = nothing
>
> If Not IsNothing(objExcelApp) Then
> objExcelApp.DisplayAlerts = False
> objExcelApp.Quit()
> objExcelApp = Nothing
> End If
>
> GC.Collect()
>
>
>
>
>
>
> "Dmitriy Lapshin [C# / .NET MVP]" <(E-Mail Removed)> wrote
> in message news:(E-Mail Removed)...
>> Hi KC,
>>
>> You can grant permissions to the user your ASP .NET app runs under to

> access
>> the Excel COM server by running dcomcnfg on the "MyServer" machine. For
>> this, the aforementioned user should be a domain user. You could possibly
>> also impersonate a domain user with enough permissions before

> instantiating
>> and using the Excel object.
>>
>> --
>> Sincerely,
>> Dmitriy Lapshin [C# / .NET MVP]
>> Bring the power of unit testing to the VS .NET IDE today!
>> http://www.x-unity.net/teststudio.aspx
>>
>> "KC" <(E-Mail Removed)> wrote in message
>> news:(E-Mail Removed)...
>> > Hi,
>> > I have code similar to this..
>> > Dim xlApp As Object
>> > xlApp = CreateObject("Excel.Application", "\\MyServer")
>> >
>> > The call is from a asp.net (Intranet) application. \\Myserver is a

> network
>> > computer in the same domain as web server. The only way I can get this
>> > call
>> > worked is when I add the user who logs on to the web site as
>> > Administrators.
>> > I need to get this working without having to make the user

> administrator.
>> > Any suggestion?
>> > Thanks,
>> > CK
>> >
>> >

>>

>
>


 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off




Advertisments