Текущий архив: 2003.07.17;
Скачать: CL | DM;
ВнизИзмениить большое количество Excel.Application на WorkBook Найти похожие ветки
← →
Andrey02 (2003-07-02 01:37) [0]Экспорт данных через Excel.Application происходит несколько раз, и при каждом вызывается новое приложение Excel (Excel.Application), и когда вызывается больше 5-10 приложений система затыкается. А по хорошему каждый раз должна открывться только новая книга (WorkBook).
у меня работа с Excel.Application организована:
...
Excel, WorkBook: Variant;
...
Excel := CreateOleObject("Excel.Application");
Excel.SheetsInNewWorkBook := 1;
Excel.WorkBooks.Add;
Workbook := Excel.WorkBooks[1];
...
1. Как организовать работу с Workbook? Т.е. когда Excel открыт - то создавать новую Workbook, когда нет - создавать Excel.Application.
2. возможно стоит воспользоваться компонентами TExcelApplication, TExcelWorkBook? как?
← →
Rol (2003-07-02 08:26) [1]1. GetActiveOLEObject + F1, MSExcel.Workbooks.Add.
2. Может и стоит, но для начала следует узнать, чем раннее связывание отличается от позднего.
← →
Edward (2003-07-02 09:44) [2]Запуск Excel:
var
Excel: OLEVariant;
...
try
//Поключение к текущему экземпляру если он запущен
Excel := GetActiveOleObject("Excel.Application");
except
//Создание нового
Excel := CreateOleObject("Excel.Application");
end;
Работа с Workbook:
var
Workbook: OLEVariant;
...
Workbook := Excel.WorkBooks.Add;
или
Workbook := Excel.WorkBooks.Add("c:\template.xls");
← →
Andrey02 (2003-07-02 18:11) [3]спасибо. WorkBook работатет идеально.
но при каждом новом запуске Excel.Application (Excel.Visible := True;) оно запускалось поверх всех приложений. А WorkBook лишь добавляется внизу к Excel, если главный Excel свёрнут или неактивен.
Можно сделать чтобы каждый новый WorkBook при запуске перекрывал поверх другие приложения?
Заранее благодарен.
← →
Vitek (2003-07-03 07:28) [4]ExcelApplication1.WindowState[0] := xlMaximized;
ExcelApplication1.ScreenUpdating[0] := true;
Страницы: 1 вся ветка
Текущий архив: 2003.07.17;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.007 c