Excel 2003 Application Question

J

Jason

I am having some trouble manipulating Excel files. Currently I am
trying to create and then close an Excel file/application with the following
code. It works fine, except it leaves an EXCEL application open, which I can
see in the Task Manager. I have tried oExcel.Dispose(), but this generates
an error. How can I correct this code so that the object is properly
disposed of? Thanks!

Public Sub CreateExcelFile(Optional ByVal sFileName As String =
"")
If Len(sFileName) > 0 Then FileName = sFileName
If Not Len(FileName) > 0 Then
MsgBox("The 'FileName' property must be set before the
'CreateExcelFile' method may be utilized", , "ERROR")
Exit Sub
End If
oExcel = CreateObject("Excel.Application")
With oExcel
.SheetsInNewWorkbook = 1
oExcel = .Workbooks.Add
.Save(FileName)
.Quit()
End With
oExcel = Nothing
End Sub
 
J

Jason

It does help, thanks. However, I see that they are referencing the Excel
object model explicitly (i.e., they added a reference to their project or
solution via VisualStudio), whereas I am late-binding. I'm only doing this
because when I tried to add a reference I couldn't find Excel available as a
..Net reference (I added one called "office" but it doesn't seem to have any
available functions or properties). Any idea how I can get ahold of (and
register, I suppose) the reference?
 
B

BrianDH

OK
Under the COM Refference
I am using:
Microsoft Excel 9.0 Object Library - Excel.dll
Microsoft Office 9.0 Object Library - Office.dll
Imports system IO

B
 
J

Jorge

Hi
Use the following code to close the excel aplication

System.Runtime.InteropServices.Marshal.ReleaseComObject
(xlApp)
xlapp = nothing

Kind Regards
Jorge
-----Original Message-----
I am having some trouble manipulating Excel files. Currently I am
trying to create and then close an Excel
file/application with the following
 

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

Similar Threads


Top