아래 소스는 여러분들의 도움을 받아 작성한 소습니다.
FExcelCreate := False;
CoInitialize(nil);
try
MyExcel := GetActiveOLEObject('Excel.Application');
if not VarIsEmpty(MyExcel) then
FExcelCreate := True;
except
FExcelCreate := false;
end;
if FExcelCreate = false then begin
try
MyExcel := CreateOleObject('Excel.Application');
FExcelCreate := True;
Except
FExcelCreate := False;
end;
end;
if FExcelCreate = True then begin
FWorkBook := MyExcel.WorkBooks.Add; //새로운 Excel File생성
FWorkSheet := FWorkBook.WorkSheets.add; //시트생성
==================
위에서 Excel프로그램이 열려져 있지 않으면 Excel을 엷니다.
문제는 이미 Excel이 열려져 있더라도 다른 Excel 을 연다는 사실이죠...
요기서 질문
이미 Excel이 열려 있다면 그 Excel에 시트만 생성하고 싶거든요.
FWorkBook := MyExcel.WorkBooks.Add; --->요넘을 어떻게 하면 될 것 같은데...
==========================
end ;
현재 활성화된 워크북(ActiveWorkBook)에 쉬트만 추가하시면 될거같네요...
if FExcelCreate then
begin
if VarIsEmpty(MyExcel.ActiveWorkBook) then
FWorkBook := MyExcel.WorkBooks.Add; //새로운 Excel File생성
FWorkSheet := MyExcel.ActiveWorkBook.WorkSheets.add;
^^ 항상 즐코하세요...