안녕하세요?
존경하는 델피언 여러분.
저는 그동안 시스템 펌웨어 엔지니어로만 경력이 있고, 간단한 VB 프로그램만 자동화 쪽 일을 하다보니 만들어 본것이
전부입니다. 그래서, 상위 계층은 잘 몰라서요.
저희 집 사람이, 파트타임으로 문서작업 같은 것을 복지관에서 하는데...
엑셀에서 한글로 데이타 옮기는 일이 있는데, 양이 많은가 봐요. 그래서, human mistake 가 발생해서
핀잔을 듣나 보더라구요. 애 낳고 돈 벌려고 일하는데 전화로 핀잔 듣는 거 보니 마음이 좋지 않더라구요..
제가 한번 만들어 볼려고 하는데요..
관련 소소나 홈페이지 게시판,, 등등 정보 좀 알려 주십시요.. 어디서 시작해야 할지 모르겠네요.
부탁 합니다.
부인되시는 분이 어떤 실수를 하셨길래..ㅎㅎ::
우선 부인되시는 분께서 하시는 일의 일련의 과정을 자동화 할 수 있는지 부터 검토해보셔야 할거 같아요..
엑셀의 데이타를 다루는 부분은 이미 많이 다루어져 온 부분이라 델파이 관련 사이트에서 쉽게 정보를 구할수 있을 거구요,
그 데이타를 한글로 이동할때 어떻게 이동을 해야 하는지 부분이 관건일거 같네요...
아래아한글에 표가 들어간다거나 미세한 수정등이 따라야 한다면 매우 어려운 일이 될거 같구요..
간단히 붙여 넣기 정도라면 API 를 이용해 수작업하는 부분을 자동화 할 수 있을것도 같네요..
자세히 물어보시구 과정을 검토 해 보셔야 할거 같습니다..
참고로 엑셀의 내용을 스트링 그리드로 옮기는 부분의 코딩을 올려드릴께요 참고하세요..
var
ExcelApp, ExcelBook, ExcelSheet : Variant;
I, J : Integer; // 순환변수
begin
//엑셀이 설치되었있을 경우만 가능
try
//엑셀을 실행
ExcelApp := CreateOLEObject('Excel.Application');
except
ShowMessage('Excel이 설치되어 있지 않습니다!!!');
Exit;
end;
Try
ExcelApp.Visible := False;
ExcelApp.DisplayAlerts := False;
//엑셀 통합문서 열기
if OpenDialog1.Execute then
begin
ExcelBook := ExcelApp.WorkBooks.Open(OpenDialog1.FileName);
ExcelBook := ExcelApp.WorkBooks.item[1]; //워크 쉬트 설정
//일단 개별문서는 sheet1으로 고정
ExcelSheet := ExcelBook.Worksheets.Item[1];
//StringGrid 초기화 (Title은 고려하지 않았습니다.)
StringGrid1.RowCount := ExcelSheet.UsedRange.Rows.count;
StringGrid1.ColCount := ExcelSheet.UsedRange.Columns.count;
For I := 1 to ExcelSheet.UsedRange.Rows.count do
For J := 1 to ExcelSheet.UsedRange.Columns.count do
StringGrid1.Cells[J,I] := vartostr(ExcelSheet.Cells[I,J]); //스트링그리드에 뿌리기
ExcelApp.WorkBooks.Close;
ExcelApp.quit;
ExcelApp := unassigned;
end;
Except
on err:exception do
begin
ExcelApp.WorkBooks.Close;
ExcelApp.quit;
ExcelApp := unassigned;
ShowMessage('작업이 취소되었습니다. Data확인요망-'+err.message);
end;
end;
ShowMessage(IntToStr(ExcelSheet.UsedRange.Rows.count) + '건의 자료를 변환하였습니다');
end;
또, 아래 링크를 따라가셔서 김성동님에게 자문을 구해보는것도 좋은 방법이 될거 같네요..
델파이로 아래아한글 보기 지원이 되는 에디터를 만드신 분이죠..
http://www.acrosoft.pe.kr
그럼~ 즐거운 프로그래밍 하세요~