2010-03-31 8 views
-1

Je suis en train de compiler le code suivant et je reçois l'erreur:Impossible de créer une instance de classe abstraite

Impossible de créer une instance de la classe abstraite. S'il vous plaît aider

m_objExcel = new Excel.Application(); 
m_objBooks = (Excel.Workbooks)m_objExcel.Workbooks; 
m_objBook = (Excel._Workbook)(m_objBooks.Add(m_objOpt)); 
m_objSheets = (Excel.Sheets)m_objBook.Worksheets; 
m_objSheet = (Excel._Worksheet)(m_objSheets.get_Item(1)); 

// Create an array for the headers and add it to cells A1:C1. 
object[] objHeaders = {"Order ID", "Amount", "Tax"}; 
m_objRange = m_objSheet.get_Range("A1", "C1"); 
m_objRange.Value = objHeaders; 
m_objFont = m_objRange.Font; 
m_objFont.Bold=true; 

// Create an array with 3 columns and 100 rows and add it to 
// the worksheet starting at cell A2. 
object[,] objData = new Object[100,3]; 
Random rdm = new Random((int)DateTime.Now.Ticks); 
double nOrderAmt, nTax; 
for(int r=0;r<100;r++) 
{ 
    objData[r,0] = "ORD" + r.ToString("0000"); 
    nOrderAmt = rdm.Next(1000); 
    objData[r,1] = nOrderAmt.ToString("c"); 
    nTax = nOrderAmt*0.07; 
    objData[r,2] = nTax.ToString("c"); 
} 
m_objRange = m_objSheet.get_Range("A2", m_objOpt); 
m_objRange = m_objRange.get_Resize(100,3); 
m_objRange.Value = objData; 

// Save the Workbook and quit Excel. 
m_objBook.SaveAs(m_strSampleFolder + "Book2.xls", m_objOpt, m_objOpt, 
    m_objOpt, m_objOpt, m_objOpt, Excel.XlSaveAsAccessMode.xlNoChange, 
    m_objOpt, m_objOpt, m_objOpt, m_objOpt); 
m_objBook.Close(false, m_objOpt, m_objOpt); 
m_objExcel.Quit(); 

Répondre

5

Je vous suggère de déterminer la ligne où il se brise ...

Abstract cours ne peuvent pas être créés directement, au lieu vous devez créer une instance via une classe dérivée, c'est pourquoi vous obtenez l'exception. Si vous n'emballez pas le code en essayant/en attrapant ou en activant les "Common Language Runtime Exceptions" (le raccourci par défaut est Ctrl + E dans VS2008), vous devriez pouvoir trouver la ligne à l'origine du problème.

Je pense qu'il pourrait même être votre première ligne, vous utilisez normalement quelque chose comme:

new ApplicationClass(); 
+0

pouvez-vous poster le code édité? – SmartestVEGA

+0

Vous devez vérifier que c'est le problème. Si cette ligne est le problème, il pourrait être aussi simple que m_objExcel = new ApplicationClass(); – Ian

0

classes abstraites ne peuvent être instanciés avec un « nouveau ». Regardez l'erreur et et voyez dans quelle ligne elle pointe. Ensuite, vérifiez le code pour voir ce qu'il fait. Postez la ligne si vous ne pouvez pas déterminer la réponse.

juste essayer Excel.Application au lieu de nouveau Excel.Application()

+0

m_objExcel = new Excel.Application(); – SmartestVEGA

Questions connexes