Avatar billede simsen Mester
14. juli 2006 - 15:01 Der er 2 kommentarer og
1 løsning

Åbne eksisterende excel fil

Hej

Jeg forsøger at lege med Excel og nedenviste kode, virker ganske glimrende. Jeg får åbnet excel og skrevet noget ind.....men det jeg har brug for, er at åbne en eksisterende excel fil ikke en ny hver gang. hvordan skal jeg få det føjet ind i koden?

En anden ting - jeg har oprettet en reference til excel 11. Hvad sker der, når jeg kører programmet på en computer, der måske ikke har samme version af excel men 10 måske?

Koden der virker:

Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();

            if (xlApp == null)
            {
                Console.WriteLine("EXCEL could not be started. Check that your office installation and project references are correct.");
                return;
            }
            xlApp.Visible = true;

            Workbook wb = xlApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);
            Worksheet ws = (Worksheet)wb.Worksheets[1];

            if (ws == null)
            {
                Console.WriteLine("Worksheet could not be created. Check that your office installation and project references are correct.");
            }

            // Select the Excel cells, in the range c1 to c7 in the worksheet.
            Range aRange = ws.get_Range("C1", "C7");

            if (aRange == null)
            {
                Console.WriteLine("Could not get a range. Check to be sure you have the correct versions of the office DLLs.");
            }

            // Fill the cells in the C1 to C7 range of the worksheet with the number 6.
            Object[] args = new Object[1];
            args[0] = 6;
            aRange.GetType().InvokeMember("Value", BindingFlags.SetProperty, null, aRange, args);
   
            // Change the cells in the C1 to C7 range of the worksheet to the number 8.
            aRange.Value2 = 8;

mvh
simsen :-)
Avatar billede simsen Mester
14. juli 2006 - 16:21 #1
Har selv fundet ud af at åbne:

Workbook wb = xlApp.Workbooks.Open(path, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
    Type.Missing, Type.Missing, Type.Missing, Type.Missing,
    Type.Missing, Type.Missing, Type.Missing, Type.Missing,
    Type.Missing, Type.Missing);


MEN vil stadig gerne vide, hvad sker der, hvis jeg installere programmet på en computer, der ikke bruger samme version af excel, som den jeg har på min udvikler maskine?

mvh

simsen :-)
Avatar billede simsen Mester
16. juli 2006 - 18:36 #2
Lukker :-/
Avatar billede sandrasmurf Nybegynder
17. juli 2006 - 03:29 #3
Jeg har selv leget med Excel med Excel automation, men gik væk fra det, dA jeg skulle flytte min kode til en anden maskine. Det viser sig at office dll'en både er afhængig af version og sprog.

Jeg havde selv office 2003 UK og flyttede koden til en Office XP maskine. Det virkede ikke, så til mit brug var Excel automation ubrugeligt.

Jeg bruger nu ExcelLite, der kan fås i en cripple ware udgave og er 100 uafhængig
af version og sprog. Derudover er den også meget hurtigere end den excel metode du leger med

Allan
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester