27. April 2010 10:12
RowNoVar := RowNoVar + 1;
EnterCell(RowNoVar, 2, 'Total','',TRUE,FALSE,FALSE);
EnterCell(RowNoVar, 3, '', STRSUBSTNO(SUMME, RowNoVar - 1), TRUE, FALSE, FALSE);
ExcelBuffer.CreateBook;
ExcelBuffer.CreateSheet(TABLECAPTION, TABLECAPTION, COMPANYNAME, USERID);
//ExcelWrkBk.SaveAs('C:\text.xls'); geht nicht, daher auskommentiert!!!
//ExcelWrkBk.Close(); geht nicht, daher auskommentiert!!!
IF CONFIRM (TXT50000) THEN ExcelBuffer.GiveUserControl() ELSE ExcelApp.Quit();
27. April 2010 11:01
GetExcelApp(VAR XlApp2 : Automation "Unknown Automation Server.Application")
XlApp2 := XlApp;
ExcelBuffer.GetExcelApp(ExcelApp);
IF CONFIRM (TXT50000) THEN ExcelBuffer.GiveUserControl() ELSE ExcelApp.Quit;
27. April 2010 11:37
martinst hat geschrieben:Hallo
Völlig klar dass sies nicht funktioniert.
ExcelApp ist bei Dir eine andere Instanz und hat nichts der Instanz von Excel zu tun, die in ExcelBuffer verwendet wird.
Du müsstest die Tabelle Excelbuffer anpassen.
Es braucht eine neue Funktion z.B. GetExcelApp
Dieser Funktion übergibst Du eine Variable des Typs Automation Excel Application
- Code:
GetExcelApp(VAR XlApp2 : Automation "Unknown Automation Server.Application")
XlApp2 := XlApp;
Dein Code müsste dann so aussehen:
- Code:
ExcelBuffer.GetExcelApp(ExcelApp);
IF CONFIRM (TXT50000) THEN ExcelBuffer.GiveUserControl() ELSE ExcelApp.Quit;
Gruss
XlWrkBk.SaveAs('C:\Testdatei-1234.xls');
XlWrkBk.Close();
XlApp.Quit;
RowNoVar := RowNoVar + 1;
EnterCell(RowNoVar, 2, 'Total','',TRUE,FALSE,FALSE);
EnterCell(RowNoVar, 3, '', STRSUBSTNO(SUMME, RowNoVar - 1), TRUE, FALSE, FALSE);
ExcelBuffer.CreateBook;
ExcelBuffer.CreateSheet(TABLECAPTION, TABLECAPTION, COMPANYNAME, USERID);
IF CONFIRM (TXT50000) THEN ExcelBuffer.GetExcelApp;
GetExcelApp(VAR XlApp2 : Automation "Unknown Automation Server.Application")
XlApp2 := XlApp;
27. April 2010 13:07
Müßte es nicht eher XlApp := XlApp2; heißen?