17. august 2004 - 13:04Der er
39 kommentarer og 1 løsning
.Net framework
Hej,
Jeg har lavet en application i Visuel Studies 2003. Denne application sidder jeg og er ved at få til at køre på på en Windows 2000 maskine. Jeg har hentet prøvet med det .Net framework 1.0 og 2.0 beta. Og intet synes at virke. Godt nok kan jeg starte applicationen, men når jeg forsøge at åbne og indlæse et Excelark i et listview kaster den en exception om applicationen bryder ned???
Nogle der kan hjælpe mig - og give mig et godt råd?
ystem.Runtime.InteropServices.COMException (0x80028018): Old format or invalid type library. at Excel.Workbooks.Open(String Filename, Object UpdateLinks, Object ReadOnly, Object Format, Object Password, Object WriteResPassword, Object IgnoreReadOnlyRecommended, Object Origin, Object Delimiter, Object Editable, Object Notify, Object Converter, Object AddToMru, Object Local, Object CorruptLoad) at CVR_Opslag.Form1.open_Click(Object sender, EventArgs e) at System.Windows.Forms.MenuItem.OnClick(EventArgs e) at System.Windows.Forms.MenuItemData.Execute() at System.Windows.Forms.Command.Invoke() at System.Windows.Forms.Command.DispatchID(Int32 id) at System.Windows.Forms.Control.WmCommand(Message& m) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ScrollableControl.WndProc(Message& m) at System.Windows.Forms.ContainerControl.WndProc(Message& m) at System.Windows.Forms.Form.WndProc(Message& m) at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Ja det ser nu ud som om at fejlen ligger i interaktionen med office komnponenterne. 1: Det er en COM exception 2: Old format or invalid type library. at Excel.Workbooks.Open(..... tyder på at der ikke er tale om samme version på server og udviklermaskine
Det sjove er faktisk at når jeg starter applicationen så laver jeg et objekt at "Excel" og starter excel. Det går også fint nok - men så snart jeg vil indlæse excel-filen i Excel så går det galt - som den exception også beskriver. Hvordan skal jeg åbne Excel-filen istedet for?
hvis serveren har en anden version af office DLL'er så er objecter og metoder jo nok tilstede, men metodesignaturen kan jo ændre sig. så kan du sikkert få den fejl som beskrevet.
I applicationen bruger jeg en dll-fil som hedder Interop.Excel.dll. Den har jeg prøvet at skifte ud med den dll fil som er med i den pakke jeg lige har hentet - men det fungere slet ikke. Nu kan jeg ikke engang starte Excel. Måske skal jeg have en ældre version af PIA?
hvis du har slttet din egen version af Interop.Excel.dll og erstattet den med den du har downloadet skal den vel registreres før du kan bruge den. ligesom Arne skriver....
blank... Man kan jo aldrig være sikker på at enbruger overhovedet har indstalleret excel... endsige har den rigtige version. Prøv at google lidt. der er garenteret nogen der har haft samme problem.
Din fejlmeddelelse minder meget om en jeg ramte ind i på et tidspunkt. Det viste sig at være pga. Culture info lavede ravage i det hele. løste prob. med følgende 2 linier kode.
System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo("en-US"); System.Threading.Thread.CurrentThread.CurrentCulture = ci;
Øhhh - sorry. Jeg er ikke helt med. Men har det ikke noget at gøre med threads? Jeg har kun en tråd i mit program. Ellers hvad løser de to linier af problemer og hvor skla de indsættes?
De to linier skal indsættes før din egen kode. Linierne sætter dit program til at opføre sig som om det er en-US (engelsk) version, jeg kan ikke huske hvorfor det var at man skulle gøre sådan, men som jeg også skriver så "minder" din fejlmeddelse om en jeg har fat. Dette er nødvendigvis ikke løsningen, men et forsøg værd!
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.