Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.misc
|
|||
|
|||
![]()
Hi,
As you can see xlApp.Quit does not kill the process. I've tried in desperation in the last few lines to force the process to quit, which also does not work. As many times as I call printWithExcel, I get the same number of processes that are not exited, even the whole Delphi App exits. I have the following code in Delphi: procedure printWithExcel(fileName: String); var xlApp, workbook: Variant; ptrToXlApp, ptrToWorkbook: PVarData; begin WriteToLogFile('Output.printWithExcel() ---'); if (fileName < '') then begin xlApp := CreateOleObject('Excel.Application'); xlApp.Visible := False; // Arguments to the Open function { function Open(const Filename: WideString; UpdateLinks: OleVariant; ReadOnly: OleVariant; Format: OleVariant; Password: OleVariant; WriteResPassword: OleVariant; IgnoreReadOnlyRecommended: OleVariant; Origin: OleVariant; Delimiter: OleVariant; Editable: OleVariant; Notify: OleVariant; Converter: OleVariant; AddToMru: OleVariant; lcid: Integer): ExcelWorkbook; safecall; } workbook := xlApp.Workbooks.Open(fileName, EmptyParam, True); workbook.Printout; workbook.Close(False); xlApp.Quit; ptrToWorkbook := FindVarData(workbook); ptrToWorkbook := nil; ptrToXlApp := FindVarData(xlApp); ptrToXlApp := nil; workbook := Unassigned; xlApp := Unassigned; end; WriteToLogFile('Output.printWithExcel() <---'); end; |
#2
![]()
Posted to microsoft.public.excel.misc
|
|||
|
|||
![]()
As you are writing in Delphi and this Discussion Group deals with Excel, I
doubt you will get response. Perhaps you would be best to write a macro inside the workbook module that does the print job. Or include in your Delphi code to "Print to File" ... - -Mark "eeidfn" wrote: Hi, As you can see xlApp.Quit does not kill the process. I've tried in desperation in the last few lines to force the process to quit, which also does not work. As many times as I call printWithExcel, I get the same number of processes that are not exited, even the whole Delphi App exits. I have the following code in Delphi: procedure printWithExcel(fileName: String); var xlApp, workbook: Variant; ptrToXlApp, ptrToWorkbook: PVarData; begin WriteToLogFile('Output.printWithExcel() ---'); if (fileName < '') then begin xlApp := CreateOleObject('Excel.Application'); xlApp.Visible := False; // Arguments to the Open function { function Open(const Filename: WideString; UpdateLinks: OleVariant; ReadOnly: OleVariant; Format: OleVariant; Password: OleVariant; WriteResPassword: OleVariant; IgnoreReadOnlyRecommended: OleVariant; Origin: OleVariant; Delimiter: OleVariant; Editable: OleVariant; Notify: OleVariant; Converter: OleVariant; AddToMru: OleVariant; lcid: Integer): ExcelWorkbook; safecall; } workbook := xlApp.Workbooks.Open(fileName, EmptyParam, True); workbook.Printout; workbook.Close(False); xlApp.Quit; ptrToWorkbook := FindVarData(workbook); ptrToWorkbook := nil; ptrToXlApp := FindVarData(xlApp); ptrToXlApp := nil; workbook := Unassigned; xlApp := Unassigned; end; WriteToLogFile('Output.printWithExcel() <---'); end; |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Plotting Bands for Task Overlaps | Charts and Charting in Excel | |||
force excel to run in only one process excel.exe | Excel Worksheet Functions | |||
Task Manager and Excel 2003 | Excel Discussion (Misc queries) | |||
loop trough e-mail address list to send task lists with outlook | Excel Discussion (Misc queries) | |||
Sumif Linking to Another Workbook error #VALUE! | Excel Discussion (Misc queries) |