[ 제작자 Getroot]
1. 제목
Excel Automation C++ Library 0.2
2. 형태
Class
3. 내용
Excel을 자동으로 제어할 수 있는 라이브러리 입니다.
4. 환경
OS : Windows 개열
개발툴 : MFC
5. 사용법
// 인스턴스를 초기화하고 엑셀 객체를 생성한다.
BOOL CreateExcel(void);
// Sheet 이름을 구한다.
BOOL GetSheetName(DWORD dwSheetNumber, TCHAR *pwsSheetName);
// Sheet 이름을 변경한다.
BOOL ChangeSheetName(DWORD dwSheetNumber, TCHAR *pwsSheetName);
// Sheet 갯수를 구한다.
DWORD GetSheetCount(void);
// Sheet를 추가한다.
BOOL AddSheet(TCHAR *pwsSheetName);
// Sheet을 선택한다.
BOOL SetActiveSheet(INT nSheetNum);
// 인스턴스를 초기화하고 파일을 오픈한다.
// fMode : CREATE_EXCEL_FILE, OPEN_EXCEL_FILE
BOOL OpenExcelFile(WCHAR *wsFileName, INT fMode);
// 파일을 닫고 인스턴스를 종료한다.
BOOL CloseExcelFile(void);
// 파일을 저장한다.
BOOL SaveExcelFile(void);
// Excel 창을 띄운다.
BOOL SetVisible(BOOL fOn=TRUE);
// Sheet을 선택한다.
BOOL SetActiveSheet(INT nSheetNum);
// Data를 읽어온다.
BOOL GetData(DWORD dwX, DWORD dwY, WCHAR *pwsOut, DWORD dwBufferLen);
BOOL GetData(INT nSheetNum, DWORD dwX, DWORD dwY, WCHAR *pwsOut, DWORD dwBufferLen);
// 다음칸의 데이터를 읽는다. 데이터가 비어있다면 FALSE 리턴
// fDirection: UPPER, BOTTOM, LEFT, RIGHT
BOOL GetNextData(INT fDirection, WCHAR *pwsOut, DWORD dwBufferSize);
// Data를 쓴다.
BOOL SetData(DWORD dwX, DWORD dwY, WCHAR *pwsInput);
BOOL SetData(INT nSheetNum, DWORD dwX, DWORD dwY, WCHAR *pwsOut);
// 다음칸에 데이터를 쓴다.
// fDirection: UPPER, BOTTOM, LEFT, RIGHT
BOOL SetNextData(INT fDirection, WCHAR *pwsInput);
// 검색
// pwsSeed : 검색할 단어
// pwsResult : 검색된 문장
// pdwX, pdwY : 검색된 위치
// Active page 전체를 검색
BOOL SearchAll(WCHAR *pwsSeed, WCHAR *pwsResult, DWORD &pdwX, DWORD &pdwY);
// 지정된 dwX나 dwY 좌표를 검색
BOOL SearchX(DWORD dwX, WCHAR *pwsSeed, WCHAR *pwsResult, DWORD &pdwX, DWORD &pdwY);
BOOL SearchY(DWORD dwY, WCHAR *pwsSeed, WCHAR *pwsResult, DWORD &pdwX, DWORD &pdwY);
// 다음 찾기
BOOL SearchNext(WCHAR *pwsResult, DWORD &pdwX, DWORD &pdwY);
// Active range 구하기
BOOL GetActiveRange(DWORD &pdwBX, DWORD &pdwBY, DWORD &pdwLX, DWORD &pdwLY);
-----------------------------------------------------------------------------------------------------------------------------------------------------------
6. 사용 예제
-----------------------------------------------------------------------------------------------------------------------------------------------------------
CExcelLib clsExcel;
WCHAR wsResult[MAX_STRING_BUFFER_SIZE];
DWORD dwBX, dwBY, dwLX, dwLY;
BOOL bResult;
clsExcel.OpenExcelFile(L"c:\\test.xls", OPEN_EXCEL_FILE);
clsExcel.SetActiveSheet(1);
//clsExcel.GetActiveRange(dwBX, dwBY, dwLX, dwLY);
clsExcel.SearchAll(L"bcd", wsResult, dwBX, dwBY);
while(TRUE)
{
bResult = clsExcel.SearchNext(wsResult, dwBX, dwBY);
if(bResult == FALSE)
{
break;
}
}
clsExcel.SearchX(2, L"bcd", wsResult, dwBX, dwBY);
while(TRUE)
{
bResult = clsExcel.SearchNext(wsResult, dwBX, dwBY);
if(bResult == FALSE)
{
break;
}
}
clsExcel.SearchY(9, L"bcd", wsResult, dwBX, dwBY);
while(TRUE)
{
bResult = clsExcel.SearchNext(wsResult, dwBX, dwBY);
if(bResult == FALSE)
{
break;
}
}
clsExcel.CloseExcelFile();
ExcelLib.zip


Leave your greetings.