Avatar billede tommypedersen Nybegynder
22. august 2002 - 16:22 Der er 2 kommentarer og
1 løsning

connect til Excel

Jeg starter Excel op fra C++ Builder via COM:

try
  {
    try
    {
      // connect to Excel
      ExcelApplication1->Connect();

    }

    catch (Exception& exception)
    {
      MessageDlg("Excel may not be installed", mtError, TMsgDlgButtons() << mbYes, 0);
      Abort;
    }
    ExcelApplication1->Visible[lcid] = True;
    try
    {
      //Open
      ExcelApplication1->Workbooks->Open(StringToOleStr(excelFile));
      ExcelWorkbook1->ConnectTo(ExcelApplication1->ActiveWorkbook);
    }
    catch (Exception& exception)
    {
      //Create new
      ExcelApplication1->Workbooks->Add(xlWBATWorksheet,lcid);
      ExcelWorkbook1->ConnectTo(ExcelApplication1->ActiveWorkbook);
      ExcelWorkbook1->SaveAs(excelFile,xlWorkbookNormal,"","",False,False,xlNoChange,
            xlLocalSessionChanges,true,0,0,lcid);
    }


Problemet er når jeg stopper applikationen, stopper Excel også - ligemeget om excel var startet før applikationen eller ej.
Er der mulighed for at connecte til Excel og disconnecte uden Excel stopper ?
//Tommy
Avatar billede Slettet bruger
22. august 2002 - 20:39 #1
I Visual Basic sætter du din referencer til 'Nothing' hvis du f.eks.
vil koble et objekt af en applikation.

F.eks: xlApp = Nothing

Det kunne være at du skulle gøre noget tilsvarende, inden du stopper din applikation. Er ikke 100% sikker.
Avatar billede tommypedersen Nybegynder
22. august 2002 - 22:22 #2
I C++ builder hedder det f.eks. ExcelApplication1->Disconnect();

Men så snart man skyder en disconnect af lukker Excel (også selv om applikationen kører endnu.

Der findes også funktionen ExcelApplication1->Quit(); men resultatet er det samme - det virker som om at Disconnect skyder en Quit af.

//Tommy
Avatar billede tommypedersen Nybegynder
12. december 2003 - 19:21 #3
Vi lukker
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
Kurser inden for grundlæggende programmering

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