alexK19
Дата: 25.09.2019 09:31:11
Здравствуйте, при запуске Excel из приложения оно открывается на заднем плане. Подскажите как, если возможно, открывать документ на переднем плане.
Вариант - искать окно по его имени через API, как-то не очень...
alexK19
Дата: 25.09.2019 10:42:06
Мимопроходящий |
---|
25.09.2019 9:31, alexK19 пишет: > Здравствуйте, при запуске Excel из приложения оно открывается на заднем плане.
как запускаешь? показывай
|
const
ExcelApp = 'Excel.Application';
var
Excel: OleVariant;
........
function TReportForm.CheckExcelInstall: boolean;
var
ClassID: TCLSID;
begin
Result := CLSIDFromProgID(PWideChar(WideString(ExcelApp)), ClassID) = S_OK;
end;
function TReportForm.RunExcel(DisableAlerts: boolean=true; Visible: boolean=false): boolean;
begin
try
if CheckExcelInstall then
begin
Excel := CreateOleObject(ExcelApp);
Excel.Application.EnableEvents := DisableAlerts;
//Excel.Visible := Visible;
Result := true;
end
else
begin
MessageBox(0,'Excel íå óñòàíîâëåí','Îøèáêà',MB_OK+MB_ICONERROR);
Result:=false;
end;
except
Result := false;
end;
end;
procedure TMainForm.Button1Click(Sender: TObject);
var
WorkBook, Sheet: OleVariant;
begin
RunExcel(True, True);
WorkBook := Excel.Workbooks.Add;
.......
//Заполняю отчет
.......
Excel.Visible := Visible;
end;
yemets63
Дата: 27.09.2019 11:35:52
alexK19,
не скупитесь, купите компонент Spreadsheet раньше в комплекте DevExpress был сейчас есть и отдельно.
или качните, и вас ни кто не осудит ActiveX, работает от 98 по Windows 10, завоут его F1Book, если не заниматься супер построением графиков в Excel то думаю будет достаточно, просто и быстро.
потому что все эти сервера автоматизации от Microsoft ну не то это