View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming
frankvfox frankvfox is offline
external usenet poster
 
Posts: 2
Default COMException With Microsoft.Office.Interop.Excel

Thanks to both moon and NickHK for their concern and suggestions. I
appreciate you took the time to try to help me.

It appears I have inadvertently posted to the Excel VBA track and not to the
VB.Net Excel Interop group. My apologies.

I'm using VB.Net 2003 and banging my head against the wall.

moon ... the Set keyword is no longer used in a standalone expression in
VB.Net in a fashion similar to the old Let expression in original Basic. Set
is implied if you are setting one object to another (when both have been
previously defined as objects).

NickHK ... the "Dim xl As New Microsoft.Office.Interop.Excel.Application"
line is a combination dimensioning and instancing expression which creates
the Excel Application in place of the older Set expression you use in VBA.

I think I've got problems here which you would never encounter with embedded
VBA. Splicing COM objects into a .Net application is proving to be a
formidable task.

Again, thanks for your input. You've alerted me to my misdirection!

Off to the other track.

Frank
__________________________________________________ __

Frank
Unless .Net is that different to the original VB/VBA, there no Excel to work
with, only dimmed variables.

You will need to create an instance of Excel to work with:
Set xl=New Excel.Application
set wb=xl.Workbooks.Add

etc...

NickHK
__________________________________________________ __

wb is an object variabele which gets its value by 'Set', so if you try:

Set wb = xl.Workbooks.Add

maybe that error will be fixed.

moon
__________________________________________________ __

I'm trying to insert an image into an Excel cell. Please see the following
code. Does
anybody have a way to fix this "COMException"? I thought setting the new
reference in Visual Studio
took care of "wrapping" COM objects for use with .Net?

I can't even get the workbook object established let alone see if the rest
of this works!


Imports Microsoft.Office.Interop.Excel


Private Sub Spreadsheet()
Dim i As System.Drawing.Image
Dim xl As New Microsoft.Office.Interop.Excel.Application
Dim wb As Microsoft.Office.Interop.Excel.Workbook
Dim ws As Microsoft.Office.Interop.Excel.Worksheet
Dim range As Microsoft.Office.Interop.Excel.Range
xl.Workbooks.Add(wb) <---------------------------------------
Error
Location
wb.Sheets.Add(ws)
range = ws.Range(5, 5)
i =

System.Drawing.Image.FromFile("C:\inetpub\wwwroot\ capitalprojects\Images\GSI
mgtmpED6.png")
range.Select()
ws.PasteSpecial(i)
ws.SaveAs("C:\test.xls")
xl.Quit()
i.Dispose()
End Sub

An unhandled exception of type
'System.Runtime.InteropServices.COMException'
occurred in Scratch.exe

Additional information: Exception from HRESULT: 0x800A03EC.

Any help greatly appreciated.

Frank Fox
Hendersonville, Tennessee