Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Copy a worksheet throws "Exception from HRESULT: 0x800A03EC."
Hi,
While iam trying to copy a worksheet from one file to another file in C#, VS.NET 2003 i get error message saying: "Exception from HRESULT: 0x800A03EC." The Exact Code i used is: Excel.Application xlApp1 = new Excel.ApplicationClass(); Excel.Application xlApp2 = new Excel.ApplicationClass(); object missing = Type.Missing; xlApp1.Workbooks.Open(System.Windows.Forms.Applica tion.StartupPath + @"\Reports.xls" , missing , missing, missing, missing, missing,missing, missing, missing, missing, missing, missing, missing, missing, missing); xlApp2.Workbooks.Open(System.Windows.Forms.Applica tion.StartupPath + @"\Template.xls" , missing , missing, missing, missing, missing,missing, missing, missing, missing, missing, missing, missing, missing, missing); Excel.Workbook xlSrcBook; Excel.Workbook xlDestBook; xlSrcBook = xlApp2.ActiveWorkbook as Workbook; xlDestBook = xlApp1.ActiveWorkbook as Workbook; try { (xlSrcBook.Sheets[2] as Worksheet).Copy(missing,xlDestBook.Sheets[xlDestBook.Sheets.Count]); xlApp2.Visible = true; } catch(Exception ex) { MessageBox.Show(this,ex.Message); } finally { xlSrcBook.Saved = true; xlDestBook.Saved = true; xlSrcBook.Close(missing,missing,missing); xlDestBook.Close(missing,missing,missing); xlApp1.Quit(); xlApp1 = null; xlApp2.Quit(); xlApp2 = null; } Can someone please help me in finding out the mistake ? |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Copy a worksheet throws "Exception from HRESULT: 0x800A03EC."
I've never tried it in VB/VBA, but I'd be surprised if you can copy/move
worksheets between instances of Excel. Open both workbook in the same instance and you should be OK. NickHK "i3tech" wrote in message ... Hi, While iam trying to copy a worksheet from one file to another file in C#, VS.NET 2003 i get error message saying: "Exception from HRESULT: 0x800A03EC." The Exact Code i used is: Excel.Application xlApp1 = new Excel.ApplicationClass(); Excel.Application xlApp2 = new Excel.ApplicationClass(); object missing = Type.Missing; xlApp1.Workbooks.Open(System.Windows.Forms.Applica tion.StartupPath + @"\Reports.xls" , missing , missing, missing, missing, missing,missing, missing, missing, missing, missing, missing, missing, missing, missing); xlApp2.Workbooks.Open(System.Windows.Forms.Applica tion.StartupPath + @"\Template.xls" , missing , missing, missing, missing, missing,missing, missing, missing, missing, missing, missing, missing, missing, missing); Excel.Workbook xlSrcBook; Excel.Workbook xlDestBook; xlSrcBook = xlApp2.ActiveWorkbook as Workbook; xlDestBook = xlApp1.ActiveWorkbook as Workbook; try { (xlSrcBook.Sheets[2] as Worksheet).Copy(missing,xlDestBook.Sheets[xlDestBook.Sheets.Count]); xlApp2.Visible = true; } catch(Exception ex) { MessageBox.Show(this,ex.Message); } finally { xlSrcBook.Saved = true; xlDestBook.Saved = true; xlSrcBook.Close(missing,missing,missing); xlDestBook.Close(missing,missing,missing); xlApp1.Quit(); xlApp1 = null; xlApp2.Quit(); xlApp2 = null; } Can someone please help me in finding out the mistake ? |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Copy a worksheet throws "Exception from HRESULT: 0x800A03EC."
Can you explain it please ?. Iam not getting it.
if you open in same instance then how will i get two different workbook and their worksheets ?. ActiveWorkbook will give me only one workbook to copy ? |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Copy a worksheet throws "Exception from HRESULT: 0x800A03EC."
As Nick wrote you only require one instance of Excel. To get around
your activeworkbook problem, set the reference when you open the workbook then open the new one: IE appxl.workbooks.open ("Filename") Book1 = Activeworkbook.name appxl.workbooks.open ("Filename2") Book2 = Activeworkbook.name This should then reference the correct books. You can then use appxl.Windows(Book1).activate to move back to workbook one etc. James i3tech wrote: Can you explain it please ?. Iam not getting it. if you open in same instance then how will i get two different workbook and their worksheets ?. ActiveWorkbook will give me only one workbook to copy ? |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
Copy a worksheet throws "Exception from HRESULT: 0x800A03EC."
Thank a lot Nick & James. It works great !
" wrote: As Nick wrote you only require one instance of Excel. To get around your activeworkbook problem, set the reference when you open the workbook then open the new one: IE appxl.workbooks.open ("Filename") Book1 = Activeworkbook.name appxl.workbooks.open ("Filename2") Book2 = Activeworkbook.name This should then reference the correct books. You can then use appxl.Windows(Book1).activate to move back to workbook one etc. James i3tech wrote: Can you explain it please ?. Iam not getting it. if you open in same instance then how will i get two different workbook and their worksheets ?. ActiveWorkbook will give me only one workbook to copy ? |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
"_Fill" and "_Key1" is contained in the worksheet I want to copy.. | Excel Discussion (Misc queries) | |||
Exception from HRESULT: 0x800A03EC | New Users to Excel | |||
Exception from HRESULT: 0x800A03EC. at Microsoft.Office.Interop.Excel.WorkbookClass.get_VBProject() | Excel Programming | |||
HRESULT: 0x800A03EC setting DataSource for pivot tables. | Excel Programming | |||
Chart.Export throws COMException (0x800A03EC): Exception from HRESULT: 0x800A03EC. | Excel Programming |