Avatar billede simsen Mester
03. januar 2009 - 10:12 Der er 1 løsning

Åbne eksisterende excel ark

hej,

Jeg forsøger at åbne et eksisterende excel regneark, men får fejlen:
Obejktreferencen er ikke indstillet til en forekost af et objekt.
i følgende linje:
WRwb = WRwbs.Open(folderadress, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, true, "XLNormalLoad");

Og jeg fatter bare ikke hvorfor.....Jeg har checket 127 gange, at folderadress er korrekt sti til mit regneark....

Nogen der kan hjælpe med at finde ud af, hvor problemet er?

Hele min kode ser ud som følgende:
//create Excel objects
        string folderadress = "~/Excel/KØRSELSRAPPORT.xlsx";
        folderadress = HttpContext.Current.Server.MapPath(folderadress);
        Microsoft.Office.Interop.Excel.Application WRExcel = null;
        Microsoft.Office.Interop.Excel.Workbooks WRwbs = null;
        Microsoft.Office.Interop.Excel._Workbook WRwb = null;
        Microsoft.Office.Interop.Excel.Sheets WRss = null;
        Microsoft.Office.Interop.Excel._Worksheet WRws = null;
        object objOpt = System.Reflection.Missing.Value;

        WRExcel = new Microsoft.Office.Interop.Excel.Application();
        WRwb = WRwbs.Open(folderadress, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, true, "XLNormalLoad");
        WRss = WRwb.Worksheets;

        WRws = (Microsoft.Office.Interop.Excel.Worksheet)WRss.get_Item(1);

        WRws.Cells[1, 1] = "Zone";
        WRwb.SaveAs(Directory.GetCurrentDirectory() + "\\" + "Excel1.xls", objOpt, objOpt, objOpt, objOpt, objOpt, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, objOpt, objOpt, objOpt, objOpt, objOpt);
        WRwbs.Close();
Avatar billede simsen Mester
05. januar 2009 - 09:34 #1
Langt om længe fandt jeg en løsning:

string folderadress = "~/Excel/Hej.xls";
        folderadress = HttpContext.Current.Server.MapPath(folderadress);
        string storefolderadress = "~/Excel";
        storefolderadress = HttpContext.Current.Server.MapPath(storefolderadress);
        Microsoft.Office.Interop.Excel.Application WRExcel = new Microsoft.Office.Interop.Excel.Application();
        Microsoft.Office.Interop.Excel.Workbooks WRwbs = null;
        //Microsoft.Office.Interop.Excel.Workbook WRwb = new Microsoft.Office.Interop.Excel.Workbook();
        Microsoft.Office.Interop.Excel.Workbook WRwb = WRExcel.Workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet);
        Microsoft.Office.Interop.Excel._Worksheet WRws = null;
        object objOpt = System.Reflection.Missing.Value;

        WRExcel.Visible = false;
        WRwbs = WRExcel.Workbooks;

        WRwb = WRwbs.Open(folderadress, objOpt, objOpt, objOpt, objOpt, objOpt, objOpt, objOpt, objOpt,
            objOpt, objOpt, objOpt, objOpt, objOpt, objOpt);
        Microsoft.Office.Interop.Excel.Sheets WRss = null;
        WRss = WRwb.Sheets;
        WRws = (Microsoft.Office.Interop.Excel.Worksheet)WRss.get_Item(1);
        WRws.Cells[1, 1] = "Zone";
        WRwb.SaveAs(storefolderadress + "\\" + "Excel1.xls", objOpt, objOpt, objOpt, objOpt, objOpt, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, objOpt, objOpt, objOpt, objOpt, objOpt);
        WRwbs.Close();

problemet lå i:
Microsoft.Office.Interop.Excel.Workbook WRwb = new Microsoft.Office.Interop.Excel.Workbook();

skulle byttes ud med:
Microsoft.Office.Interop.Excel.Workbook WRwb = WRExcel.Workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet);
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